MySQL 5.7下InnoDB对COUNT(*)的优化

  

在MySQL 5.7 COUNT()会选择聚集索引,进行一次内部处理函数调用,即可快速获得该表总数

  

执行计划显示:额外的:选择表优化掉

  

5.7以前的版本中,COUNT()请求通常是:扫描普通索引来获得这个总数。
6。执行计划显示:额外的:使用指数

  

如果聚集索引较大(或者说表数据量较大),没有完全加载到缓冲池中的话,MySQL 5.7的查询方式有可能反而会更慢,还不如用原先的方式(MySQL 5.6)
解决办法:强制走普通索引,不过还需要加上的条件,否则还是不行
select count ()从股票指数(idx_stock) id在0;
额外:使用,使用指数

MySQL 5.7下InnoDB对COUNT(*)的优化