搜索引擎优化费用(Limit优化的优化方法有哪些?优化步骤?)
优采云 发布时间: 2022-03-04 15:19搜索引擎优化费用(Limit优化的优化方法有哪些?优化步骤?)
5、Limit查询优化
limit 常用于分页处理,duration 会与 order by 子句一起使用,所以大部分时间使用 Filesorts 会导致很多 IO 问题。
例子:
要求:查询电影id和描述信息,按照主题排序,从第50个序号开始取出5条数据。
select film_id,description from sakila.film order by title limit 50,5;
执行结果:
看一下它的执行计划:
对于这样的操作,我们应该使用什么样的优化呢?
优化步骤一:
使用索引列或主键进行order by操作,因为众所周知,innodb是按照主键的逻辑顺序进行排序的。可以避免很多IO操作。
select film_id,description from sakila.film order by film_id limit 50,5;
查看执行计划
那么如果我们从 500 行开始得到 5 条记录,执行计划是什么样的呢?
explain select film_id,description from sakila.film order by film_id limit 500,5\G
随着我们进一步翻页,IO操作会越来越大。如果一张表有几千万行数据,翻页会越来越慢,所以我们需要进一步优化。
优化步骤二
记录上一次返回的主键,下次查询时使用主键进行过滤。(注意:数据量大时避免扫描太多记录)
最后的限制是 50,5 操作,所以我们需要在这个优化过程中使用最后的索引记录值,
<p>select film_id,description from sakila.film where film_id >55 and film_id