如果在 IN 子句中使用 10 个参数执行查询,然后再次执行相同的查询但使用 20 个参数,数据库服务器是否可以重用第一次运行的执行计划,或者每次都必须创建一个新的执行计划时间?
问问题
75 次
1 回答
0
IN
我刚刚在 SQL Server 中进行了快速检查,当我从子句中添加/删除值时,看起来每个查询确实收到了自己的查询计划。
此代码将向您显示当前缓存的查询计划。您可以调整检查以text
将其缩小到您自己的特定查询,然后查看在执行其他查询版本时是否显示新行。
SELECT TOP 10
text,
*
FROM
sys.dm_exec_cached_plans AS CP
CROSS APPLY sys.dm_exec_sql_text(CP.plan_handle) ST
WHERE
text LIKE 'select * from dbo.My_Table where%'
于 2016-02-26T17:00:27.077 回答