小编Min*_*him的帖子

使用参数化 SQL 时,SQL Server 正在缓存具有相同查询的查询计划

我在 SQL Server 2012 SP1 中使用参数化 SQL 查询。

参考sys.dm_exec_cached_planssys.dm_exec_query_stats,优化器似乎多次创建相同的计划,而不是重用已经存在的计划。

该服务器有很多与同一缓存计划query_hashquery_plan_hash,(目前和增加正是4700个计划)。

我的问题是:

  1. 这种情况正常吗?
  2. 为什么优化器一次又一次地创建一个已经存在的新计划?
  3. 有没有一种好方法可以强制优化器根据参数化 SQL 重用查询计划?

sql-server

2
推荐指数
1
解决办法
942
查看次数

标签 统计

sql-server ×1