自学内容网 自学内容网

深入学习索引

1.索引的底层数据结构是什么?索引是如何实现的?

索引的底层数据结构是B+tree(多路树)

当设置了字段为索引以后,底层会将字段上的数据使用B+Tree的数据结构存储在索引文件里

2.索引的优缺点

优点:索引字段作为条件查询更快

缺点:添加、删除数据会改变表,也会改变索引文件里的数据结构

缺点的解决方案:少量的添加、删除就直接忽略,批量添加、删除之前可以把所有删除,批量操作后再把所有添加上

3.索引的分类

分类:

聚簇索引/聚集索引:主键索引

非聚簇索引/非聚集索引:唯一索引、普通索引、全文索引

4.聚簇索引与非聚簇索引的区别

聚簇索引:叶子节点上存放的是数据行的数据

非聚簇索引:叶子节点存放的是数据行的地址(拿到地址后,还要去找地址上的数据)

5.索引什么情况下会失效?

1、查询条件中包含or 2、like 通配符% 错误使用 3、联合索引最左匹配原则 4、索引列使用MySQL函数,索引失效 5、索引列存在计算,使用(+、-、*、/),索引失效 6、使用(!= 或者 < >,not in),导致索引失效 7、使用is null, is not null,导致索引失效 8、左连接、右连接关联字段编码不一致,索引失效 9、使用了select *,导致索引失效 10、order by使用,导致索引失效 11、group by 使用违反最左匹配原则,导致索引失效


原文地址:https://blog.csdn.net/secret010/article/details/140160135

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!