2011-04-08 59 views
1

這可能是一個愚蠢的問題?但你是否能夠對數據庫執行SQL查詢以獲取X的所有記錄項,將其存儲到本地變量「myRecords」中,然後過濾「myRecords」變量中包含的結果? (保存您對數據庫進行多輪/查詢)。通過存儲到一個變量減少SQL查詢?

這是一個好主意嗎?或一個壞主意?

回答

3

我相信你指的是緩存的經典案例,也有豐富的資源,以指導你雖然這種方法的實施。要獲得更具體的答案,您需要提供有關您嘗試解決的問題的更多詳細信息。該主題非常龐大,可能會非常複雜,具體取決於您的環境參數。

0

我使用K伊萬諾夫同意。只是想添加一些東西。

這可能是一個巨大的性能提升還是一個完整的災難。很少是在兩者中間。

我想你可能想追求這個話題之前做了幾件事情。首先,分析你的數據庫和查詢。尋找任何領域,例如新的索引或變化的索引,甚至可能略有不同的表格設計,這可能會首先提高性能。

有幾個問題。第一個處理機器上的內存需求,它將緩存這個。如果你的數據庫服務器已經受到內存限制,那麼在它上面添加一些中間緩存是不可取的。

如果緩存在Web服務器中的數據,那麼你可能會從根本上提高了應用程序的內存佔用。而且,根據緩存策略和數據的性質,它可能會很快變得陳舊,導致不好的結果。

的一點是,你試圖去一個不同的路徑之前,確保你完全理解你的問題。它可能像調整索引和/或將RAM添加到數據庫服務器一樣簡單。這些相對容易實現,而一個穩定的緩存機制可能是一個恩惠或導致更大的問題。