我有從mysql的循環數據,這是一個很長的名單。什麼是最有效的分頁方式?目前,我正在看這個:http://www.evolt.org/node/19340有效的分頁教程建議?
隨意推薦一個更好的,謝謝!
我有從mysql的循環數據,這是一個很長的名單。什麼是最有效的分頁方式?目前,我正在看這個:http://www.evolt.org/node/19340有效的分頁教程建議?
隨意推薦一個更好的,謝謝!
而不是從文章中獲取數據庫中的所有內容,您可以選擇可以實際顯示的行 - 即。如果每頁有10個項目,請選擇10 - 然後選擇總行數。如果數據庫很大,即使是兩個查詢,這個效率也會更高。
我相信LIMIT是你正在尋找的詞。 – Zoe 2009-09-09 06:30:42
我一直在使用Wicked酷PHP這本書中的例子作爲我的出發點。很整齊,很好地解釋了IMO。
你想要的東西像
SELECT * FROM your_table WHERE condition = true ORDER BY some_field LIMIT 100, 10
其中100是記錄數跳過10是要檢索的行數。 如果您希望獲得最高性能,請確保您的索引涵蓋condition
和訂單條件字段。
這是一個非常好的功能/類作爲標準庫的一部分。我強烈建議你滾你自己沿着這些路線:
我會發布一些代碼,但會採取的樂趣吧:)
像索林Mocanu說,如果你想通過一些標準,也許修改時間或一定的頻率命令的結果,那麼排序將是一個很大的性能損失。即使您只需要10條記錄,仍然需要對所有(可能是數百萬條)記錄進行排序,除非您確定使用了索引並且使用正確。
下面是關於分頁與MySQL的優秀文章: http://www.percona.com/ppc2009/PPC2009_mysql_pagination.pdf
或者從MySQL網站: http://dev.mysql.com/doc/refman/5.5/en/order-by-optimization.html
貌似有點亂,但這些想法都在那裏。你應該可以清理一下;)好的項目爲你! :D – mpen 2009-09-09 06:18:07