MySQL索引

索引结构种类(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过滤元组
  1. Index Condition Pushdown,一种MySQL使用索引从表中检索行数据的优化方式
  2. Using where表示过滤元组,和是否读取数据文件(上面说的回表查询)或索引文件没有关系

参考链接

http://www.cnblogs.com/wy123/p/7366486.html

你可能感兴趣的:(MySQL索引)