我有一些經常被我的網站使用的表格。例如,最大的一個是一個位置表,它持有大量的靜態數據。所以,當用戶通過我的網站時,他們會在這些位置搜索。它擁有大約150萬行。我已經使用內存分析器調整了這張表的大小,並且它在內存中將近500mb。最終我有更多的靜態表,我需要非常快速地訪問它們,它們是靜態的。最後我的內存轉儲可以達到1,5 GB的內存使用量。這對我來說不是一個問題,而我有一個功能強大的服務器,有很多可用的內存。但是當我提出這個問題時,高級開發人員和架構告訴我應該檢查我的項目,因爲一個進程不應該佔用那麼多的內存。但我需要快速訪問,我不想每次都查詢我的數據庫。我需要在1秒以內回覆。這就是爲什麼記憶看起來像我的方式。有沒有更好的建議?在內存中共享大數據表?
我正在使用asp.net和ms SQL 2008.目前Framework 4.0,但很快會4.5。我的網絡服務器上的IIS 7.5。
我很感謝您的幫助。 謝謝。
最具擴展性的方法是使用數據庫,1.5M行是什麼。它永遠不會超過一秒鐘。 –
如果你有機會接觸到一個體面的DBA,就把你的腦袋放在一起,看看你是否無法拿出一套合理的索引 - 在適當的數據庫調整下,你應該很容易地達到1-2秒的期望性能閾值。我同意Tim Schmelter。 – bUKaneer
對不起。我犯了一個嚴重的錯誤。我需要在1秒以內。 0,1,0,2秒等這就是我能夠使用內存,但不是數據庫。 – batmaci