有效性始終是重要的,然後是效率。在表達我的意見之前,我想你的問題已經基於用戶的有效解決方案。
首先,數據檢索是關於計算機系統的存儲。如果您的數據可以完全駐留在最快的存儲中(如主內存),那麼保留數據是比其他更好的策略。但是關於性能問題的問題主要是因爲主存不夠用,所以應該從二級存儲(較慢的存儲)中取回數據,並替換主內存中的其他數據,並生成所需的數據。所以你必須處理多級存儲系統。其次,在處理多級存儲系統時(與大多數計算機系統一樣),效率方式取決於次級存儲訪問次數的減少程度。關於將數據從較慢的存儲數據加載到較快的存儲數據的好處並不重要,但也有數據被踢掉的犧牲。
在XML中,DOM和SAX是處理多級存儲系統的兩個極端。在數據庫系統中,完全緩存的索引是性能的一個很好的解決方案(當索引足夠小時)。在操作系統中,文件緩存是計算機科學中最具挑戰性的事情之一。
您可以在需要之前預先計算一些數據。您可以使用更高效的數據結構來改善重現數據。您可以粗暴地將更多的主要內存分配給您的應用程序。你可以......好吧,購買更多的內存模塊或SSD。無論您選擇哪種解決方案,這絕對是計算機科學融合的藝術。
算法,數據結構,數據庫系統,操作系統,甚至是編譯器的理論,這些硬質金屬都可以幫助你建立一把可以踢龍的屁股的劍。
我建議你看看這個視頻,它解釋了關於顯示內容和表單(用戶輸入)的一些不錯的設計思路:http://37signals.com/svn/posts/2608-ryans-talk-at-未來的Web方式的應用,2010年倫敦 – 2010-12-03 13:21:03