我剛剛開始每天都使用LINQ。我讀了很多有關L2E查詢應被編譯使用,以提高性能如下:LINQ to Entites 4.0查詢默認編譯?
CompiledQuery.Compile(query);
使用LINQ到實體4.0我跑了查詢10次未編譯,然後進行編譯,並取得了以下結果以秒爲單位:
// Sample Query
from u in ctx.Users orderby u.Id, u.Username select u
Uncompiled Compiled
---------------------
0.295 0.2946174
0.024 0.0220462
0.008 0.0060126
0.013 0.0210441
0.007 0.010021
0.011 0.010021
0.008 0.0060126
0.009 0.0070147
0.008 0.0060126
正如您所看到的,從我的小測試中發現時間並沒有真正的巨大差異。第一次調用的時間較慢,然後兩者加速(意味着編譯/緩存)。任何人都可以提供對此的見解?
做了調查這個前一陣子和,阿法克(這絕對不是最終的)答案是否定的。如果我能找到一個明確的答案,我會在這裏給它,但假設沒有人會這樣做。 – Will 2010-06-25 18:57:15
那麼第一次評估查詢時發生了什麼? – TheCloudlessSky 2010-06-25 19:20:01