• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

MySQL百万以上数据分页实例(升级上一贴),该怎么解决

mysql 搞代码 7年前 (2018-05-31) 290次浏览 已收录 0个评论

mysql百万以上数据分页实例(升级上一贴)
记录在一百万(最好是在八十万)以内时,可以参照上一贴http://topic.csdn.net/u/20100201/16/dc9ad7d7-840b-4ded-9d7a-d94db5bc235f.html。如果超过了这个数据,最好只以主键为条件进行分页

取总数: Select SQL_BUFFER_RESULT count(id) as all_ID from my_tab
总页数: 总数/每页条数
最后一页的条数: 总数%每页条数

查询数据:
select id,title,price from my_tab m INNER JOIN ( select id as my_id from ( select id from my_tab order by id desc limit 100,100 ) as tmp ) as temp ON my_id=id

第一步、按照最快原则,以主键id作为条件排序 ( select id from my_tab order by id desc limit 100,100 ) as tmp

第二步、按照最少原则,只取回当前所需的记录,而且只取id ( select id from my_tab order by id desc limit 100,100 ) as tmp

第三步、按照最快原则,以主键id作为条件取回所需的信息 select id,title,price from my_tab m INNER JOIN ( … ) as temp ON my_id=id

显示效果请看实例:http://58.ebweek.com
有不足之处请大家拍砖!

——解决方案——————–
如果数据量这么大,还有一种方法,是通过估算来得到起始ID xx,然后 where id>xx limit 100
——解决方案——————–
分页没有什么什么好方法,一般用TOP、LIMIT之类的,再与工作表连接
——解决方案——————–
学习.
——解决方案——————–

探讨

如果数据量这么大,还有一种方法,是通过估算来得到起始ID xx,然后 where id>xx limit 100

——解决方案——————–
学习学习
——解决方案——————–
我记得我以前在公司写过一个SP,是不停的循环ID,然后得到分页的数据。效率非常高。
——解决方案——————–
mark,感谢分享心得。
——解决方案——————–
大数据量的分页是个永恒的话题~~~~

感谢分享。
——解决方案——————–
mark,感谢分享心得。
——解决方案——————–
学习 帮顶
——解决方案——————–
谢谢,帮顶


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:MySQL百万以上数据分页实例(升级上一贴),该怎么解决

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址