赞
踩
索引,是建立在数据库中的用于快速查询,快速定位与检索数据的数据结构。索引表是一组数据的集合,它将数据按照一定规则组织起来,形成一个可操作的整体,是对大量数据进行有效组织和管理的手段之一。
利用DM 数据库,我们可以验证与得出一系列索引相关特点,包括优缺点,类型等。
索引建的好还可以简化很多操作,比如连接操作时使用索引连接。连接操作主要有嵌套连接、哈希连接、索引连接等,在建立合适的索引的情况下可以大大提高连接效率。
通过索引列对数据进行排序,降低数据排序的成本,降低了CPU的消耗。(被索引的列会自动进行排序,对应order by语句效率更高)
以上文例子为例,将c3进行排序:
没有索引时:
创建索引时:
当然,索引的存在也有缺点与代价:
在增删改场合更多的场景下,因为需要动态维护,反而可能降低效率
以插入为例:
占用空间,特别是聚簇索引,占用很大的空间。聚簇索引,就是索引节点即包含了该数据项的全部信息,相比非聚簇索引需要占用更多的空间。
建立非聚簇索引并插入相同数量的数据,根据suo查看索引占用的空间:
再建立聚簇索引,根据索引ID查看占用索引空间:
创建了索引之后,遇到数据的增删改时候,也要进行相应维护,所以维护需要占用额外的时间。
在第一点中,如果我们选择先插入数据再建立索引,那么索引在创建的时候,就需要花费更多时间,随数据的增大而增大。
在100000行已有数据的情况下建立聚簇唯一索引,花费217ms:
在200000行已有数据的情况下建立聚簇唯一索引,花费394ms:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。