使用mysql覆盖索引查询。竟然要4秒多钟?

问题:使用mysql覆盖索引查询。竟然要4秒多钟?感觉不正常?希望各位大牛解释下,谢谢了。

查询效果图如下:

图片说明

表结构如下:

图片说明

表数据大小如下:

图片说明

没有什么比较好的办法。innodb执行limit 8000000,50时会从0开始扫描然后一路丢弃,一致扫描到第8000000。

你在 d_paid后面 定义一个名字呗

select a.id

from d_paid a
limit 80000,50 ;
这样应该就快了吧

这是很正常的,因为你没有用到索引,你只是根据行数来查。

where id >= 8000000 limit 50 这样呢