关于网站建设的图片,微信登录,wordpress首页聚合模块,搭建起什么样的平台一般分页这样写 select * from goods limit 50,20 从50行开始取20行#xff0c;即第51行到70行 当数据量少当时候这样并没有什么问题#xff0c;但是如果 select * from goods limit 1000000,20 查询耗时骤升。 这种方式是查询出100000020行#xff0c;再取20行#xff0c;…一般分页这样写 select * from goods limit 50,20 从50行开始取20行即第51行到70行 当数据量少当时候这样并没有什么问题但是如果 select * from goods limit 1000000,20 查询耗时骤升。 这种方式是查询出100000020行再取20行前面1000000行丢弃。 如何优化 1.延迟关联 select * from goods inner join (select id from goods order by id limit 1000000,20) as lim using(id) 这里使用了覆盖索引 覆盖索引如果一个索引包含或者说覆盖所有需要查询字段的值称之为“覆盖索引” 2.使用between and select * from goods where id between 1000000 and 1000020 order by id 3.优化offset limit offset 的问题其实是offset的问题可以根据上次记录的位置开始扫描避免使用offset select * from goods where id1000020 order by id desc limit 20 这种方法好处是无论翻多少页性能都很好。 性能比较 优化offset between and 延迟关联 limit offset 延迟关联2-3倍于limit offset。 优化offset between and多倍于limit offset如果使用了索引将近100倍。转载于:https://www.cnblogs.com/joystrong/p/9346222.html