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索引是什么结构?
1453浏览 • 1回复 待解决
RDS MYSQL 如何重建索引
1824浏览 • 1回复 待解决
如何使用OceanBase分区索引功能?
3539浏览 • 1回复 待解决
mysql 索引问题有知道的吗?
1574浏览 • 1回复 待解决
为何docker里su到mysql居然无效
1706浏览 • 1回复 待解决
mysql怎样批量删除数据?
1564浏览 • 1回复 待解决
mysql 历史数据如何迁移到 bak
3997浏览 • 1回复 待解决
sequelize;mysql关联查询的问题
2008浏览 • 1回复 待解决
Mysql的数据如何打乱排序?
1209浏览 • 1回复 待解决
RDS MySQL是否有锁的监控?
1899浏览 • 1回复 待解决
分库分 MySQL 方案存在什么缺点?
2392浏览 • 2回复 待解决
mysql b+树索引的关键码是怎么来的?
1010浏览 • 1回复 待解决
MySQL dual的问题有懂的吗?
1831浏览 • 1回复 待解决
mysql 千万级中快速插入和删除记录
2101浏览 • 1回复 待解决