>  기사  >  데이터 베이스  >  MySQL分页查询优化_MySQL

MySQL分页查询优化_MySQL

WBOY
WBOY원래의
2016-05-31 08:47:591038검색

MySQL分页查询优化

1.问题所在

一般分页是这么设计的:

第1页 每页20条
select * from user limit 0 20;
第2页 每页20条
select * from user limit 20 20;
第3页 每页20条
select * from user limit 40 20;

这就造成了数据量一大,查询低效的问题,数据库容易崩溃。

基本原理是这样的:

liimit 100,20的意思是扫描满足条件的120行,扔掉前面的100行,返回最后的20行,如果是limit 100000,100,需要扫描100100行,再返回最后的100行,在一个高并发的应用里,每次查询需要扫描超过10W行,性能肯定大打折扣。


2.解决方案

多加入一个where条件

情境模拟1:页面只提供“上一页”,“下一页”连接

user表里面有个primary key ID

每页显示20条,当前页第5页,当前页面上id最大值为



未完..............................

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.