假設我在MSSQL數據庫中有幾個表,每個表都有大約5-10個屬性。表格之間有一些簡單的關聯,但每個表格都有500,000到1,000,000行。Linq to SQL vs序列化
有一個算法運行在該數據上(所有它),所以在運行該算法之前,我必須從數據庫中檢索所有數據。該算法不改變數據,只讀取它,所以我只需要檢索數據。
我正在使用LINQ to SQL。檢索所有數據大約需要兩分鐘。我想知道的是序列化到文件然後反序列化(如果需要的話)實際上會更快地加載數據。
數據大概是200MB,我不介意將它保存到磁盤。那麼,如果從文件中反序列化對象或使用LINQ 2 SQL DataContext,會更快嗎?
有關於此的任何經驗?
第二種方法沒有意義,但我一直在考慮從數據庫加載一次,然後一次保存到文件。然後,而不是每次程序啓動時從數據庫加載,從文件加載。所以差異更像是從db加載與從文件加載。 似乎無論如何LINQtoSQL對象都是默認可序列化的,所以我想這是很多工作和部分類來使它們可序列化的。 – 2009-04-28 15:52:35
那麼它更像是一個緩存解決方案呢?數據變化很少,所以你可以讀一遍並存儲一段較長的時間,而不用擔心變化?然後,您可以通過將應用程序更容易地分析的格式緩存,從而獲得一些性能。我在回答中增加了一些建議。 – 2009-04-28 18:13:48