我們正在構建一個應用程序,每個表格需要每天插入大約150萬行數據。我們有16張桌子。 我們追蹤包括當日數據在內的3日曆史數據。在插入的運行時查詢數據:我們可以使用緩存嗎?
該應用程序使用C#完成;在服務器端,我們運行一個在市場營業時間(4.5小時)內填充數據表的exe文件,並且我們每5秒更新一次16個表。
在客戶端,應用程序獲取需要最近插入的數據(在最近5秒內)的用戶查詢以及可能是今天或之前的歷史點,並以某種方式繪製它們。
我們有一些嚴重的性能問題,因爲一個查詢可能需要1秒或更多,這太多了。問題是,對於當今在運行時插入的數據,我們是否可以利用緩存,而不是在每次我們想從當前數據中獲取某些內容時訪問數據庫?這會更有效率嗎?如果是這樣,我們該怎麼做? P.S一天的數據大約爲300 MB,並且我們有足夠的RAM
感謝您的回答..經過一些優化後,查詢時間現在爲0秒。但是,我們正在查詢512個VPN連接,並且UI凍結。我沒有得到你真正想要解決的問題!你能再詳細一點嗎? – mustafabar 2009-04-14 10:32:52
@mustafabar添加了關於它的更新。 – eglasius 2009-04-14 17:01:46