2011-09-22 61 views
0

這個問題很簡單。我無法選擇。在開發文檔中,MySQL已經指定索引可以從它的位置選擇一行,而不是搜索整個表。

Suppost我有一個請求根據評分獲取我的Posts表中的20個最佳職位。我應該只緩存檢索到的帖子的id或我應該緩存整個結果以響應進一步的請求。
順便說一句我正在使用基於文件的緩存。我應該緩存整個查詢在PHP中,或者我應該只緩存行的主鍵?

回答

2

內存很便宜,緩存20行通常不佔用太多。

我會說:緩存完整的行,如果它不是要求新鮮的數據。

+0

但我使用基於文件的緩存。 – shahalpk

+0

然後,如果應用程序服務器上的數據庫連接或磁盤讀取是您主要關心的問題,則需要加權。 我會建議你實現某種內存緩存。 磁盤讀取可能仍然比訪問數據庫中的數據更快。 –

+0

我肯定會選擇一個數據庫調用現在到20個單獨的數據庫調用。對於表現的擔憂聽起來有點早。如果它成爲一個問題,你只需改變它。 – Clutch

0

緩存規則 - 使用率很高的緩存數據。在這種情況下,概率很高,所以緩存它們!

相關問題