【Entity Framework】提升效能的幾個方法

使用Entity Framework 很方便,但是因為SQL 是透過EF 組出來的。如果對EF 不熟,可能自以為很完美的程式寫法,實際上卻對資料庫造成很沒有效率的Query。因此建議可以搭配SQL Profiler 檢視最終的SQL 語法。也有幾個可以提升效能的方法,請繼續看下去 …

延遲載入

延遲載入就是先不Include,需要的時候才會撈出來。但如果你需要的關聯是常常用到,就會遇到上面的問題,造成很多不必要的Query,也有可能在無意間踩雷。

可能有人會建議關掉,但我覺得就開發者自己要小心一點就行了

 

避免 N+1 Query

如果有啟用"延遲載入",需要注意如果關聯的資料沒有在一開始的時候一起載入,後續引用的時候就會在當下下一個SQL指令撈資料。可能會在無意間執行了很多Query。

解決方法:
可以使用關鍵字"Include" 或是在select 的時候下where,EF 會自己幫你join。

 

SELECT 特定欄位

這個就跟SQL 語法一樣,不多說

 

待續…

References:
https://www.youtube.com/playlist?list=PLLGdqRi7N09Yv1kSFXi40dnEAJriaE8nJ