云数据库场景问题经典案例——分页优化
2018-03-14 16:49
393 查看
普通写法:
普通limit M,N的翻页写法,往往在越往后翻页的过程中速度越慢,原因mysql会读取表中的前M+N条数据, M越大,性能就越差:
优化写法:
优化后的翻页写法,先查询翻页中需要的N条数据的主键id,在根据主键id回表查询所需要的N条数据,此过 程中查询N条数据的主键ID在索引中完成
注意:需要在t表的sellerid字段上创建索引 create index ind_sellerid on t(sellerid);
案例如下:
原始语句:
优化后语句:
select * from t where sellerid=100 limit 100000,20
普通limit M,N的翻页写法,往往在越往后翻页的过程中速度越慢,原因mysql会读取表中的前M+N条数据, M越大,性能就越差:
优化写法:
select t1.* from t t1, (select id from t sellerid=100 limit 100000,20) t2 where t1.id=t2.id;
优化后的翻页写法,先查询翻页中需要的N条数据的主键id,在根据主键id回表查询所需要的N条数据,此过 程中查询N条数据的主键ID在索引中完成
注意:需要在t表的sellerid字段上创建索引 create index ind_sellerid on t(sellerid);
案例如下:
原始语句:
select id, ... from buyer where sellerId = 765922982 and gmt_modified >= '1970-01-01 08:00:00' and gmt_modified <= '2013-06-05 17:11:31' limit 255000, 5000 ;
优化后语句:
select t2.* from (select id from buyer where sellerId = 765922982 and gmt_modified >= '1970-01-01 08:00:00' and gmt_modified <= '2013-06-05 17:11:31' limit 255000, 5000)t1, buyer t2 where t1.id=t2.id ;
相关文章推荐
- 数据库性能优化分析案例---解决SQL语句过度消耗CPU问题
- 因为涉及到泄密问题,个人博客上SQL优化部分的很多经典案例被删除
- 因为涉及到泄密问题,个人博客上SQL优化部分的很多经典案例被删除
- 数据库经典问题
- 一个Web报表项目的性能分析和优化实践(二):MySQL数据库连接不够用(TooManyConnections)问题的一次分析和解决案例
- 数据库设计以及优化注意的问题
- 读“一千万条以上记录分页数据库优化经验总结”想到的SqlServer smalldatetime与datetime
- 性能优化是数据库应用的核心问题
- SQL 问题与解答 - 数据库移动、性能优化、备份和镜像
- 经典的判断数据库连接断开问题,翻遍了许多地方没有答案。
- JS加强总结第四天(经典分页案例)
- 数据库的分页问题 (转)
- mybatis中的一点优化问题(数据库连接分开,别名,日志打印)
- 初学C#,一个从数据库中读取信息并分页问题
- MSSQLServer数据库的分页问题
- 一个Web报表项目的性能分析和优化实践(二):MySQL数据库连接不够用(TooManyConnections)问题的一次分析和解决案例
- 一次数据库问题优化
- 优化数据库前问自己的10个问题
- Oracle优化01-引起数据库性能问题的因素
- SQL优化经典案例----外连接where条件位置优化