2012-06-05 29 views
0

需要幫助或建議,以瞭解大量的記錄。爲獲得巨大的數據記錄分頁

我有400,000條記錄,每次分頁時都要進行分頁,並根據限制設置獲取設置記錄。

我們試圖在沒有存儲6萬條記錄會話值之後,將所有記錄添加到會話中(這不是很好的選項)。

需要知道任何其他方法可以幫助分頁巨大的數據記錄。

我可以爲此使用sphinx/memcache嗎?

+1

什麼是4lac記錄? – JJJ

+0

四十萬記錄 – user1433824

+0

[Wikipedia說](https://en.wikipedia.org/wiki/Lakh)十萬= 100,000。 – Maerlyn

回答

1

您可以使用AJAX檢索記錄,例如, 100條記錄一次

0

你可以在內存中使用memcache,它會工作,但它可能會佔用大量的內存。

如果您的數據集有一個遞增的鍵,使用時間或主鍵auto_increment字段,您可以執行如下所示的查詢。

SELECT fieldlists FROM tablename WHERE key > $lastusedkey limit $limit 

這將通過限制可以在做尋呼應用造成的瓶頸得到,它並不需要你把整個數據庫到內存中。

2

那麼問題是什麼?數據庫查詢應該是擊中數據庫。有沒有性能問題?這可以通過適當的索引來彌補。 400k實際上並不是一個巨大的數據集,即使你限制爲10-20個結果。

EXPLAIN將幫助你看到你的sql服務器在做什麼。

如果頁面正在刷新頁面,那麼您可能希望實現AJAX以獲得更加無縫的ux。

您可以同時使用sphinx或memcached。 Memcached可以更容易地實現beucase,你可以在訪問數據庫之前先搜索緩存。我認爲一些查詢/數據庫調優可以走很長的路。