栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

MySQL大数据量分页查询方法及其优化

MySQL大数据量分页查询方法及其优化

1、未优化

select * from product limit 10, 20   0.016秒
select * from product limit 100, 20   0.016秒
select * from product limit 1000, 20   0.047秒
select * from product limit 10000, 20   0.094秒
//我们已经看出随着起始记录的增加,时间也随着增大, 这说明分页语句limit跟起始页码是有很大关系的,那么我们把起始记录改为40w看下(也就是记录的一般左右)                                    

select * from product limit 400000, 20   3.229秒
//再看我们取最后一页记录的时间
select * from product limit 866613, 20   37.44秒

//像这种分页最大的页码页显然这种时间是无法忍受的。

2、优化

//这次我们之间查询最后一页的数据(利用覆盖索引,只包含id列),如下:
select id from product limit 866613, 20 0.2秒
//相对于查询了所有列的37.44秒,提升了大概100多倍的速度

//那么如果我们也要查询所有列,有两种方法,
//一种是id>=的形式,
//另一种就是利用join,看下实际情况:

SELECt * FROM product WHERe ID > =(select id from product limit 866613, 1) limit 20
//查询时间为0.2秒!

//另一种写法
SELECt * FROM product a JOIN (select id from product limit 866613, 20) b ON a.ID = b.id
//查询时间也很短!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/689688.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号