我从mysql中循环数据,这是一个很长的列表。分页的最有效方法是什么?目前,我正在研究这个问题:http://www.evolt.org/node/19340
随意推荐一个更好的,谢谢!
答案 0 :(得分:2)
不是像文章中那样从数据库中提取所有内容,而是可以选择实际显示的行 - 即。如果每页有10个项目,只需选择10 - 然后选择总行数。如果数据库很大,即使它是两个查询,这也会更有效。
答案 1 :(得分:1)
这是一篇关于与mysql分页的优秀文章: http://www.percona.com/ppc2009/PPC2009_mysql_pagination.pdf
或者从mysql网站: http://dev.mysql.com/doc/refman/5.5/en/order-by-optimization.html
答案 2 :(得分:0)
我一直在使用Wicked Cool PHP这本书中的例子作为我的起点。非常整洁,很好地解释了IMO。
答案 3 :(得分:0)
你想要像
这样的东西SELECT * FROM your_table WHERE condition = true ORDER BY some_field LIMIT 100, 10
其中100是要跳过的记录数,10是要检索的行数。
如果您希望获得最高性能,请确保您有一个涵盖condition
的索引和订单条件字段。
答案 4 :(得分:0)
这是一个非常好的函数/类,作为标准库的一部分。我强烈建议你按照这些方针自己动手:
我会发布一些代码,但这会带来乐趣:)