有一个表,有索引(a,b)
下面两个语句
count(*) from table a between #{A1} and #{A2};
count(*) from table a=#{A} and b between #{B1} and #{B2};
看到执行计划都是extra Using where; Using index
哪怕这个索引是唯一索引,
我理解这里会用到索引进行count,为何要回表?
有一个表,有索引(a,b)
下面两个语句
count(*) from table a between #{A1} and #{A2};
count(*) from table a=#{A} and b between #{B1} and #{B2};
看到执行计划都是extra Using where; Using index
哪怕这个索引是唯一索引,
我理解这里会用到索引进行count,为何要回表?
5 回答3.4k 阅读✓ 已解决
3 回答3.7k 阅读✓ 已解决
5 回答1.4k 阅读
2 回答2.1k 阅读
3 回答2.1k 阅读
1 回答3.6k 阅读
1 回答889 阅读
using index :使用覆盖索引的时候就会出现
using where:在查找使用索引的情况下,需要回表去查询所需的数据
using index condition:查找使用了索引,但是需要回表查询数据
using index & using where:查找使用了索引,但是需要的数据都在索引列中能找到,所以不需要回表查询数据
所以那你的这个是不需要回表的