MySQL:利用索引进行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,为何要回表?

MySQL
mysql优化
索引
2023-01-30 13:09:49
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
无敌大暴龙

using index :使用覆盖索引的时候就会出现

using where:在查找使用索引的情况下,需要回表去查询所需的数据

using index condition:查找使用了索引,但是需要回表查询数据

using index & using where:查找使用了索引,但是需要的数据都在索引列中能找到,所以不需要回表查询数据
所以那你的这个是不需要回表的

分享
微博
QQ
微信
回复
2023-01-30 16:06:53
相关问题
Mysql索引是什么结构?
792浏览 • 1回复 待解决
RDS MYSQL 如何重建索引
1077浏览 • 1回复 待解决
如何使用OceanBase分区索引功能?
2789浏览 • 1回复 待解决
mysql 索引问题有知道的吗?
745浏览 • 1回复 待解决
为何docker里su到mysql居然无效
934浏览 • 1回复 待解决
mysql 历史数据如何迁移到 bak
3208浏览 • 1回复 待解决
mysql怎样批量删除数据?
920浏览 • 1回复 待解决
Mysql的数据如何打乱排序?
679浏览 • 1回复 待解决
sequelize;mysql关联查询的问题
1304浏览 • 1回复 待解决
RDS MySQL是否有锁的监控?
1178浏览 • 1回复 待解决
mysql b+树索引的关键码是怎么来的?
373浏览 • 1回复 待解决
分库分 MySQL 方案存在什么缺点?
1825浏览 • 2回复 待解决
Android端和mySQL端如何进行交互?
275浏览 • 1回复 待解决