索引结构种类(Index Method)
- B+tree索引
- 哈希索引
B+tree 分类
- 聚集索引(主键索引)
- 非聚集索引(普通索引)
- 唯一索引
- 前缀索引
- 联合索引
- 全文索引
- 空间索引
EXPLAIN 的 Extra 的类型说明
-
Using where
表示该条SQL
语句查询的列未被索引覆盖,where
筛选条件非索引列或者非索引的前导列,只用到了where
过滤元组。 -
Using index condition
表示该条SQL
语句使用到了ICP
查询数据,表现为查询的列不完全被索引覆盖,查询条件完全可以使用到索引(进行索引查找)。 -
Using index
表示该条SQL
语句使用到了覆盖索引(查询的列被索引覆盖),也就是说MySQL通过索引就可以返回查询所需要的数据,换句话说就是索引即数据,不需要查到索引后再去表里面查询数据了,这样就减少了大量的I/O操作,查询速度相当快。 -
Using where; Using index
表示该条SQL
语句使用到了覆盖索引(查询的列被索引覆盖)和where
过滤元组。
Index Condition Pushdown
,一种MySQL
使用索引从表中检索行数据的优化方式Using where
表示过滤元组,和是否读取数据文件(上面说的回表查询)或索引文件没有关系