什么是数据库索引 有哪些类型和特点
投稿:mdxy-dxy
有效优化VPS性能,提高VPS服务器运行速度,除了合理配置WEB服务器外,更多的是需要我们能够很好的优化网站程序及网站数据库,网站数据库的优化最为基础的优化措施就是建立数据库索引了,这里就介绍一下,什么是数据库索引?有哪些类型和特点?
⑴,什么是数据库索引?
数据库索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。在数据库中,索引的含义与日常意义上的“索引”一词并无多大区别(想想小时候查字典),它是用于提高数据库表数据访问速度的数据库对象。
①一些情况下,索引还可用于避免排序操作;
②对于非聚集索引,有些查询甚至可以不访问数据页;
③索引可以避免全表扫描。多数查询可以仅扫描少量索引页及数据页,而不是遍历所有数据页;
④聚集索引可以避免数据插入操作集中于表的最后一个数据页。
当然,虽然数据库索引可以有效提高数据库数据的查询速度,但是也会导致数据库系统更新数据的性能下降,因为大部分数据更新需要同时更新索引。
⑵,数据库索引的类型:
数据库索引好比是一本书前面的目录,能加快数据库的查询速度。根据数据库的功能,可以在数据库设计器中创建三种索引:唯一索引、主键索引和聚集索引。尽管唯一索引有助于定位信息,但为获得最佳性能结果,建议改用主键或唯一索引。
①聚集索引,表数据按照索引的顺序来存储的。对于聚集索引,叶子结点即存储了真实的数据行,不再有另外单独的数据页;
②非聚集索引,表数据存储顺序与索引顺序无关。对于非聚集索引,叶结点包含索引字段值及指向数据页数据行的逻辑指针,该层紧邻数据页,其行数量与数据表行数据量一致。
在一张表上只能创建一个聚集索引,因为真实数据的物理顺序只可能是一种。如果一张表没有聚集索引,那么它被称为“堆集”(Heap)。这样的表中的数据行没有特定的顺序,所有的新行将被添加的表的末尾位置。
⑶,数据库索引的基本特点:
建立索引的目的是加快对表中记录的查找或排序。为表设置索引要付出代价的:一是增加了数据库的存储空间,二是在插入和修改数据时要花费较多的时间(因为索引也要随之变动)。数据库索引就是为了提高表的搜索效率而对某些字段中的值建立的目录。数据库索引是建立在数据库表中的某些列的上面。在创建数据库索引的时候,应该考虑在哪些列上可以创建索引,在哪些列上不能创建索引。一般来说,应该在这些列上创建索引。
通过对于数据库索引知识和其基本特点的了解,不难发现,建立和使用数据库索引,对于提供数据库系统整体性能有着极为有利的作用,能够极为有效的加快数据库数据库的读取速度,但同时,也存在着一定的弊端,数据库索引的创建和维护,以及存储不仅会耗费大量的时间和精力,同时也会极为消耗VPS服务器的硬盘空间等资源,因此,对于大型数据库的维护,我们还需要谨慎使用数据库索引。