`
lzj0470
  • 浏览: 1250126 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

mysql分页查询

阅读更多

MySQL中一般的分页作法大多利用Limit限制回传的资料笔数来达成分页效果
例如下面的代码
Select * From news limit 0, 100第一页
Select * From news limit 100,100第二页
Select * From news limit 200,100第三页
今天突然来了一个思路
和前作上下页查询优化
的思路略同
定位到id值后再用id值作条件
优化的作法
第一页
Select * From news Where id >=(
Select id From news Order By id limit 0,1
) limit 100
第二页
Select * From news Where id >=(
Select id From news Order By id limit 100,1
) limit 100
第三页
Select * From news Where id >=(
Select id From news Order By id limit 200,1
) limit 100
经测试,一万条数据以内一般的分页作法比较快
超过一万条后优化过的作法优势就呈现出来
当数据量愈多,优化的分页查询速度愈快 本文来自Sqlclub

本篇文章来源于 SQL学习社区 原文链接:http://www.sqlclub.cn/Optimi/2009-04/2626.htm

分享到:
评论
4 楼 lzj0470 2010-12-29  
yuhao_1202 写道
这个好像在排序是按ID排序的时候很有用,因为ID作为主键是没有重复值的,但当你要按其他字段比如时间排序的时候,就很麻烦了,因为时间可能是重复值。或者有时候是按多个字段排序就更麻烦。


是的,按照其他字段,麻烦,而且,数量大,就不行了。
3 楼 yuhao_1202 2010-12-29  
这个好像在排序是按ID排序的时候很有用,因为ID作为主键是没有重复值的,但当你要按其他字段比如时间排序的时候,就很麻烦了,因为时间可能是重复值。或者有时候是按多个字段排序就更麻烦。

2 楼 wenjianwzz 2010-12-07  
当数据量很大的时候,子查询应该会耗费许多时间吧。
1 楼 qja 2010-07-23  
没用过mysql

相关推荐

Global site tag (gtag.js) - Google Analytics