索引
索引
帮助MySQL高效获取数据的数据结构
索引结构
---
- B+树的索引
---
- 哈希索引
索引分类
InnoDB存储引擎中, 根据索引的存储方式分为以下两种:
简单理解,数据库默认有一个主键用来对应行找,
你给主键id就直接找,如果不是id就利用他找到id,再用id找.
聚集索引存数据(row) ,二级索引存主键–>再通过主键去找row
索引语法
性能分析
- 查询频次
- 慢查询日志
|
|---|

- Explain执行计划查询



索引对于执行效率的提升
查询规则
- 最左前缀法则其实就是在说:联合索引只有从最左边的列开始,才能被用上。


2.遇到范围查询, 后面直接废掉 , 核心规则是:一旦在联合索引里遇到范围查询(> < >= <= BETWEEN LIKE 这种),
它右边的列就不能再用到索引了。等值能走到底,范围就断路.

索引失效情况
情况一
总结:范围不带等于、函数、字符串不带‘’,左边界模糊查询 —>都不走索引
情况二
总结:or条件左右都需要创建索引
数据分布影响: 走不走索引取决于当前数据库表结构相应字段
SQL提示
覆盖索引 和 回表查询
回表就是查到了id再去聚集索引查询
二级索引挂的是id
覆盖索引可以更大可能的避免回表查询
前缀索引

单列索引和联合索引
尽量使用联合索引而不要使用单列索引 , 因为联合索引往往能提供更多的所需的信息
索引的设计原则
