为了账号安全,请及时绑定邮箱和手机立即绑定

php、mysql怎么对特别大的数据量进行分页

php、mysql怎么对特别大的数据量进行分页

绝地无双 2018-07-30 15:08:50
php怎么对特别大的数据量进行分页
查看完整描述

1 回答

?
当年话下

TA贡献1890条经验 获得超9个赞

一般分页写法是:

SELECT * FROM posts ORDER BY id DESC LIMIT $page_size OFFSET $offset

不过当$offset很大时,速度会比较慢.

这时可以尝试使用"上一页"和"下一页"进行分页,比如:
60-41(上一页) 40-21(当前页) 20-01(下一页)
下一页(旧文章20篇):

//page.php?id=-21 负数表示下一页旧文章 这里的21表示当前页最下面的文章的ID.
SELECT * FROM posts WHERE id < 21 ORDER BY id DESC LIMIT 20;

上一页(新文章20篇):

//page.php?id=40  正数表示上一页新文章 这里的40表示当前页最上面的文章的ID.
SELECT * FROM posts WHERE id > 40 ORDER BY id ASC  LIMIT 20;

得到的是升序ID序列,PHP使用array_reverse反转数组实现降序输出.

觉得负数不好看的话,可以额外加一个参数,比如:
page.php?action=next&id=21
page.php?action=prev&id=40


查看完整回答
反对 回复 2018-08-02
  • 1 回答
  • 0 关注
  • 1061 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信