Sql Server是否缓存了跨事务的编译查询和执行计划?

SFu*_*n28 2 sql-server ado.net sql-server-2005 sqlclient

伙计们,

我正在使用准备好的sql语句的最佳实践来执行许多因相同参数而异的插入/更新.我的设计有两个选择:1.所有工作都在一次交易中完成.2.将工作分解为多个事务(不是每个语句一个,而是适合我的环境的并发性).如果我选择#2,SQL是否会利用跨事务的缓存编译查询/执行计划?或者,因为查询是在事务中进行的,所以缓存的生命周期将仅限于事务?

gbn*_*gbn 6

计划与交易无关.或者就此而言的联系

也就是说,许多txns和/或用户和/或连接可以共享计划.如果计划有效且仍在缓存中,则在不同时间


TTo*_*oni 5

查询缓存独立于事务,因此无论您选择哪个选项,您的查询都将被缓存.