mysql-sq优化-分页优化

--优化分页
--一般分页查询 通过创建覆盖索引能够比较好的提高性能
--limit 1000,20 mysql排序前1020条数据后但是仅仅需要返回第1001-1020条记录,
--前面1000条记录被抛弃了, 查询和排序的代价非常高
--优化思路
--1:在索引上进行排序分页的操做,最后根据主键关联回原表查询所需要的其他列内容
--eg: explain select film_id,desc from film order by title limit 50,5;
/* 改成: explain select a.film_id,a.desc from film a inner join(
select film_id from film order by title limit 50.5
)b on a.film_id = b.film_id; */

--这种方式 让mysql扫描尽可能少的页面来提高分页效率


--思路2 首先你可以知道最后一页的id
--把分页 转换成 < 或者 >的limit
--select * from user limit 50,10
--select * from user where id > 50 limit 10;
tags: Mysql