数据库索引的原理?创建索引的缺点是什么?什么情况索引失效?优化数据库的方法有哪些?

46 阅读1分钟

关键点: 1.哪种数据库(其实关系型数据库都差不多) 2.以mysql为例b+树 3.索引的好处和代价 4.索引失效的情况 5.优化: 1.硬件 层面 2.软件层面

数据库索引的原理? 1.以mysql为例,幕刃引擎innoDB使用了b+树实现索引,在索引查找时实现了log(n)的时间复杂度。 2.聚簇索引记录了主键id(以及完整数据),非聚簇索引的索引树中记录数据(索引字段+主键) 3.在聚簇索引的叶子节点中记录了完整的值,非聚簇索引的叶子节点记录的是主键以及索引字段,如果需要完整值的话需要回表操作,即使用主键去聚簇索引中再次查找 4.聚簇索引的叶子节点以链表的形式存储,方便顺序查找和排序