索引模块

原创
06/23 20:48
阅读数 24

索引模块

1、为什么要使用索引

    可以避免全表扫描去查找数据,提升检索效率,当数据库数据量大的时候,通过索引,可以快速定位到数据所在的地方,而不用进行全局扫描

 

2、什么样的信息能成为索引

    主键、唯一键和普通键等能把记录限定在一定范围内的字段

 

3、索引的数据结构

    生成索引,建立二叉查找树进行二分查找

    生成索引,建立B-Tree结构进行查找

    生成索引,建立B+-Tree结构进行查找

    生成索引,建立Hash结构进行查找

    索引主流是B+-Tree,比较不常见的还有Hash索引和BitMap索引,其中Mysql不支持BitMap

 

4、密集索引和稀疏索引的区别

    密集索引文件中的每个搜索码值都对应一个索引值

    稀疏索引文件只为了索引码的某些值建立索引项

 

5、如何定位并优化慢查询sql

    根据慢日志定位慢查询sql

    使用explain等工具分析sql

    修改sql或者尽量让sql走索引

 

6、联合索引的最左匹配原则的成因

 

7、索引是建立得越多越好吗

    数据量小的表不需要建立索引,建立会增加额外的索引开销

    数据变更需要维护索引,因此更多的索引意味着更多的维护成本

    更多的索引意味着也需要更多的空间

 

展开阅读全文
加载中

作者的其它热门文章

打赏
0
0 收藏
分享
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部
返回顶部
顶部