理论+实践,细谈MySQL中的explain执行计划之“谜”( 四 )


  1. Using indexExtra显示Using Index , 说明用到了索引 , 是性能高的表现 。 一般出现在查询的列被索引列覆盖 。

理论+实践,细谈MySQL中的explain执行计划之“谜”文章插图
  1. Using whereExtra显示Using where , 表示没有用到索引 , 查询的列未被索引列覆盖 。

理论+实践,细谈MySQL中的explain执行计划之“谜”文章插图
  1. Using where Using indexExtra显示Using whre Using index , 表示查询的列被索引列覆盖 , 并且where筛选条件是索引列之一,但不是最左原则中第一个索引 , 常出现在联合索引场景 。

理论+实践,细谈MySQL中的explain执行计划之“谜”文章插图
  1. NULLExtra显示null , 表示查询的列未被索引列覆盖 , 并且where筛选条件是索引的前导列 , 说明用到了索引 , 但是部分字段未被索引列覆盖 , 必须通过“回表”来实现 , 所以不是纯粹地用到了索引 , 也不是完全没用到索引 。

理论+实践,细谈MySQL中的explain执行计划之“谜”文章插图
  1. Using index conditionExtra显示Using index condition与Using where类似 , 查询的列不完全被索引列覆盖 , where条件中是一个前导列的范围 。

理论+实践,细谈MySQL中的explain执行计划之“谜”文章插图
作者:溪~源
原文链接: