今天看到一个问题。
MySQL分页查询慢怎么办?
第一反应是用limit限制返回的条数。
比如
select * from table order by idlimit 10, 100;
实际上我们限制的只是返回的条数是100,并不是查询时就从第10条开始获取数据。
所以实际上MySQL会从第0条开始查询,得到10+100=110条数据,然后放弃掉前面10条数据,返回100条数据。
所以在数据量越来越大,分页的起始条数越来越靠后时,耗时越来越长。
那如何优化呢?
记录起点,放弃使用offset
即文章来源:https://www.toymoban.com/news/detail-667095.html
select * from table order by id where id >= 10 limit 100;
根据索引直接定位到10数据所在叶子节点,取范围100个叶子节点的行数据返回。文章来源地址https://www.toymoban.com/news/detail-667095.html
到了这里,关于MySQL分页查询慢怎么办的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!