EF6查询计划缓存

时间:2017-02-09 00:07:33

标签: c# performance caching entity-framework-6

查询计划缓存

  

第一次执行查询时,它会通过内部计划   编译器将概念查询转换为store命令   (例如,针对SQL Server运行时执行的T-SQL)。如果   查询计划缓存已启用,下次执行查询时   store命令直接从查询计划缓存中检索   执行,绕过计划编译器。

     

查询计划缓存在其中的ObjectContext实例之间共享   相同的AppDomain。您不需要保留ObjectContext   实例从查询计划缓存中受益。

我正在使用EF6并且有一个TPT映射表,我第一次尝试从中访问数据需要8到10秒。但是之后的连续调用只需要几毫秒。我的理解是EF商店查询执行计划。

1)执行计划未在EF中缓存时需要5秒。 2)缓存执行计划时花费不到10毫秒。

我的问题是有没有办法手动将执行计划添加到EF。

我已经看到了生成预编译视图的方法(使用EF Power Tools生成Mapping Views),所以我想知道是否有办法在应用程序启动时向EF添加已知的执行计划。

0 个答案:

没有答案