mysql limit耗时过长

limit运行机制是先检索符合条件的指定数量的数据,再对数据进行截取,这样数据量很大的时候就会有性能问题,这里介绍的是运用数据表索引对limit查询进行优化。

一下面一张200万数据的表为例:

传统limit
SELECT * FROM tableName ORDER BY id LIMIT 1000000,100;
时间: 5.371s

子查询方式,索引扫描
SELECT * FROM tableName
WHERE id >= (SELECT id FROM tableName ORDER BY id LIMIT 1000000, 1)
LIMIT 100;
时间: 0.274s

可以看到性能提升了20倍


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部