索引的作用
加快查询
常见索引数据结构
1:哈希表(哈希冲突)=>适用于等值查询,不适合范围查找 2:二叉树(不能保证平衡) 3:红黑树(层级太高) 4:B+树 5:有序数组(单值查询、范围查询都比较快,但是插入更新和删除就比较麻烦)
索引在数据的引擎层实现的
innodb的索引模型
实现方式:B+树
主键索引:主键索引的叶子结点存的整行数据。在innodb里,主键索引也被称为聚簇索引 非主键索引:非主键索引的叶子结点内容是主键的值。在innodb里,非主键索引也被称为二级索引。非主键索引查询的时候,有可能会发生回表的操作。 张三
回表
查询结果所需的数据只在主键索引上有,所以就不得不回表。 20
索引的命中规则
最左前缀原则