• 欢迎来到我的博客
  • [email protected]

几种常见的索引

学习笔记 tianlan 2年前 (2020-04-16) 632次浏览 0个评论 扫描二维码
文章目录[隐藏]

聚集索引

指索引项的排序方式和表中数据记录排序方式一致的索引

也就是说聚集索引的顺序就是数据的物理存储顺序。它会根据聚集索引键的顺序来存储表中的数据,即对表的数据按索引键的顺序进行排序,然后重新存储到磁盘上。因为数据在物理存放时只能有一种排列方式,所以一个表只能有一个聚集索引。

几种常见的索引

比如字典中,用‘拼音’查汉字,就是聚集索引。因为正文中字都是按照拼音排序的。而用‘偏旁部首’查汉字,就是非聚集索引,因为正文中的字并不是按照偏旁部首排序的,我们通过检字表得到正文中的字在索引中的映射,然后通过映射找到所需要的字。

使用情景

a.查询命令的回传结果是以该字段为排序依据的;

b.查询的结果返回一个区间的值;

c.查询的结果返回某值相同的大量结果集。

聚集索引会降低 insert,和update操作的性能,所以,是否使用聚集索引要全面衡量。

非聚集索引

索引顺序与物理存储顺序不同

几种常见的索引

非聚集索引必须是稠密索引

使用情景

a.查询所获数据量较少时;

b.某字段中的数据的唯一性比较高时;

 

稠密索引

每个索引键值都对应有一个索引项

几种常见的索引

稠密索引能够比稀疏索引更快的定位一条记录。但是,稀疏索引相比于稠密索引的优点是:它所占空间更小,且插入和删除时的维护开销也小。

稀疏索引

相对于稠密索引,稀疏索引只为某些搜索码值建立索引记录;在搜索时,找到其最大的搜索码值小于或等于所查找记录的搜索码值的索引项,然后从该记录开始向后顺序查询直到找到为止。

几种常见的索引

聚簇索引

聚簇索引并不是一种单独的索引类型,而是一种数据存储方式。将数据存储与索引放到了一块,索引结构的叶子节点保存了行数据,所以一个表只能有一个聚族索引。 

 

优点

可以把相关数据保存在一起。就好像在操场上战队,一个院系一个院系的站在一起,这样要找到一个人,就先找到他的院系,然后在他的院系里找到他就行了,而不是把学校里的所有人都遍历一遍

数据访问更快。聚族索引将索引和数据保存在同一个B-Tree中,因此从聚族索引中获取数据通常比在非聚族索引中查找更快

非聚簇索引

将数据与索引分开存储,索引结构的叶子节点指向了数据对应的位置

覆盖索引

就是select的数据列只用从索引中就能够取得,不必从数据表中读取,换句话说查询列要被所使用的索引覆盖。

参考

https://blog.csdn.net/guzhangyu12345/article/details/96423704

https://my.oschina.net/xiaoyoung/blog/3046779


天蓝, 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:几种常见的索引
喜欢 (0)
[[email protected]]
分享 (0)

您必须 登录 才能发表评论!