索引
索引概念、索引模型
索引是一种数据结构,能够帮助我们快速的检索数据库中的数据
- 数据结构:Hash索引和B+树
- 优缺点
Hash索引低层是哈希表,哈希表是一种KV存储数据的结构,数据存储上没有任何顺序,区间查询无法直接通过索引,可以做等值查询,不支持最左匹配规则。如果存在大量重复键,哈希索引效率会很低,存在哈希碰撞问题
B+ Tree是一种多路平衡查询树,节点天然有序,叶子节点存储了整行数据的事主键索引,也被称为聚簇索引,叶子节点存储主键的值的是为非聚簇索引。 - 聚簇索引和非聚簇索引的区别
聚簇索引:叶子节点查询出来的是整行数据
非聚簇索引:叶子节点查询出来的是主键的值,得到值之后还要通过主键的值再查询一次,也可以通过覆盖索引查询一次
联合索引、最左前缀匹配
在做联合索引的时候,将识别度最高的字段放在最左边(将where字句中使用最频繁的一列放在最左边)
最左匹配规则:如(key1,key2,key3)相当创建了(key1)(key1,key2)(key1,key2,key3)
- 通过explain查看sql语句的执行计划
注:查询优化器,可能使查询语句没有通过索引
来源:CSDN
作者:姜_白
链接:https://blog.csdn.net/weixin_41730409/article/details/104192068