数据库索引

82 阅读1分钟

索引的作用

加快查询

常见索引数据结构

1:哈希表(哈希冲突)=>适用于等值查询,不适合范围查找 2:二叉树(不能保证平衡) 3:红黑树(层级太高) 4:B+树 5:有序数组(单值查询、范围查询都比较快,但是插入更新和删除就比较麻烦)

索引在数据的引擎层实现的

innodb的索引模型

实现方式:B+树

主键索引:主键索引的叶子结点存的整行数据。在innodb里,主键索引也被称为聚簇索引 非主键索引:非主键索引的叶子结点内容是主键的值。在innodb里,非主键索引也被称为二级索引。非主键索引查询的时候,有可能会发生回表的操作。 张三

回表

查询结果所需的数据只在主键索引上有,所以就不得不回表。 20

索引的命中规则

最左前缀原则

索引下推优化