【发布时间】:2010-06-26 10:13:29
【问题描述】:
我最近才开始每天使用 LINQ。我已经阅读了很多关于 L2E 查询应该被编译以提高性能的文章:
CompiledQuery.Compile(query);
使用 LINQ-To-Entities 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
如您所见,与我的小测试相比,时间并没有太大差异。第一次调用的时间较慢,然后都加快(暗示编译/缓存)。任何人都可以对此提供见解吗?
【问题讨论】:
-
前段时间研究过这个问题,但是(这绝对不是确定的)答案是否定的。如果我能找到明确的答案,我会在这里给出,但如果没有人这样做,则假设不会。
-
那么第一次评估查询时发生了什么?
标签: c# linq linq-to-entities