# mysql 中 limit offset 过大导致查询缓慢的原因及解决方案

Issue

欢迎在 Issue 中交流与讨论: Issue 467 (opens new window)

SELECT * FROM User LIMIT 1000000, 10

如上语句,跳过 1000000 行用户,取其后的 10 个用户。其中 offset 过大,将会进行 1000000 行扫描,导致磁盘 IO 多大,拖垮数据库

解决方案也很简单: 取出这10个用户的 ID,由于查询 ID 使用聚簇索引,避免 100000 行的磁盘 IO,再通过子查询找到这 10 个用户的所有数据

更多链接: Mysql index configuration (opens new window)

Last Updated: 1/17/2021, 2:02:56 PM