[英]Entity Framework - good SQL, yet slow
我的實體框架設置為將生成的SQL以及運行查詢所花費的時間發送到“輸出”窗格。
當我在本地運行時,EF查詢使用.064s(在“輸出”窗格中可以看到),而SQL(在Management Studio中單獨運行時)使用大約相同的時間。 在生產中,EF查詢需要0.660s,而生成的SQL僅需要0.157s。
大約返回了50行。 所有其他EF查詢都以預期的速度運行。
是什么導致EF運行所需的時間比生成的SQL多得多?
謝謝您的任何想法。
找出為什么查詢從不同位置調用時運行不同的最簡單方法是檢查這兩個查詢的執行計划。 從SSMS來看,這只是在輸出中包含計划的一種情況。 對於實時SQL Server,可以使用SQL Profiler。
當您擁有兩個計划時,將它們進行比較並找出差異。
查詢運行不同的一個示例是ARITHABORT
設置。 您的應用程序可能在關閉此功能的情況下連接到SQL Server,而在SSMS中則處於打開狀態。 這可能導致它使用其他執行計划。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.