Rumah > pangkalan data > tutorial mysql > MySQL分页查询优化_MySQL

MySQL分页查询优化_MySQL

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Lepaskan: 2016-05-31 08:47:59
asal
1239 orang telah melayarinya

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最大值为



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

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan