现象:
线上有一个大表,主键id;在查询时候使用了 order by id limit 1,发现全表扫描了。特别慢。
在网上搜索了下,参考:https://cloud.tencent.com/developer/article/1144242
可能是 limit 限制有关系,于是测试了几个limit,果然发现了问题:
当limit 1或者limit 2时候,会走主键索引; 当limit 3时候 才会走 普通索引。
解决办法:
1.sql去掉limit 部分;使用程序去处理多条返回值
2.换用其他 字段作为order by ,比如日期时间。