为什么MySQL更高的限制抵消了查询慢下来?简而言之:一个记录超过1600万条(2GB)的表。SELECT的限制偏移量越高,使用ORDERBY*PRIMARY_KEY*查询的速度就越慢所以SELECT * FROM large ORDER BY `id` LIMIT 0, 30比SELECT * FROM large ORDER BY `id` LIMIT 10000, 30只订购了30条记录和同样的方式。所以这不是订单的开销。现在,当获取最新的30行时,大约需要180秒。如何优化这个简单的查询?
3 回答
慕后森
TA贡献1802条经验 获得超5个赞
保存一组数据(30)的最后一个id(例如lastId=530) 添加条件 WHERE id > lastId limit 0,30
慕尼黑的夜晚无繁华
TA贡献1864条经验 获得超6个赞
id
编辑
SELECT * FROM large ORDER BY id LIMIT 10000, 30
SELECT * FROM large WHERE id > 10000 ORDER BY id LIMIT 30
id
添加回答
举报
0/150
提交
取消