2013-12-17 25 views
1

我有一個ASP.Net MVC軟件與SQL服務器後端。我有一個80列的表,目前有975413條記錄。我正在使用Linq進行數據庫事務。問題是,我注意到執行SaveChanges(),Find(),Select()等命令需要很長時間。LINQ是如此緩慢與巨大的數據庫表

我怎樣才能減少執行這樣的LINQ命令所花費的時間...

+0

您是否驗證過linq是問題而不是生成的SQL? – Magnus

+1

你能向我們展示一些你的查詢的例子嗎? – FLGMwt

回答

3

你必須做一些分析。

  1. Log the actual SQL commands that Linq is generating.
  2. 使用SQL Server剖析,以蘇斯出哪些查詢在性能方面的罪魁禍首。檢查這些查詢的執行策略。

如果Linq生成愚蠢的SQL,那麼您可能需要調整Linq代碼,或考慮使用原始SQL命令。如果執行策略顯示不希望的策略(如表掃描),那麼您可能需要考慮添加索引或更改它們(重新排序鍵,添加包含的列)。

還要注意Linq一般很慢。但是,真的,100萬條記錄並不是那麼大,我相信你可以使用上述方法提高性能。