分页查询优化

一、背景

直接从数据库查询所有数据,耗时、耗内存,改为分页查询部分数据

二、常规查询 

1.  mysql: limit 从第m条数据开始,查询n条数据

select * from table limit m,n 

2. sql server: top+子查询

3. 原理:从数据库的第一条记录开始扫描

越往后,即m越大,查询越慢

查询的数据越多,即n越大,查询越慢

三、使用子查询进行优化,先查出一个id,再根据id进行limit,查出数据

四、根据id做限定进行优化,把id作为where的条件

五、使用临时表进行优化,先查出所有id,再试用in查出数据

猜你喜欢

转载自www.cnblogs.com/june0816/p/6757383.html