MySQL深度分页问题+优化
由于 SELECT id FROM test1 ORDER BY num1 LIMIT 100000,1 使用到了覆盖索引,直接返回ID,并没有产生回表查询。项目中一个导出Excel数据的功能,遇到导出的数据有几十万条的时候,会触发慢查询报警。导致的原因就是深度分页查询。每一次可以使用上一次查询的10条数据的最大ID作为值去查询,但是这种情况比较受限要看SQL条件。查询耗时为12.387s,而且没有使用到索引变成了全表扫描。查询耗时为0.002s,并且使用到了索引。原理也是利用覆盖索引,不产生回表查询。
原创
2025-01-08 17:15:35 ·
370 阅读 ·
0 评论