SQL Server 2022 有一个新功能,称为参数敏感计划优化。我不想为我的整个数据库打开它,但我有四个存储过程,我相信它们会从此功能中受益。根据SQL Server Central 上的这篇文章,可以为特定查询或存储过程打开它:
要在查询级别启用 PSP 优化,请在查询或存储过程末尾的分号之前添加查询提示 OPTION (USE HINT('ENABLE_PARAMETER_SENSITIVITY_OPTIMIZATION'))。运行存储过程或查询。此存储过程或查询现在已启用该功能。
然而,尚不清楚如何为 SP 打开它。它们是指行上的分号EXEC
(运行时)还是 SP 代码本身中的分号?我已经进行了谷歌搜索,但没有找到任何显示示例,这让我相信这实际上是不可能的。如果没有,我将不得不将其添加到 SP 中每个查询的末尾 - 这不是一个不可能的任务(我之前已经完成过),但这篇文章给我留下了一些希望,希望它可以更容易地完成。也许是 2022 年的新功能。
语法中没有选项可以将其应用于存储过程本身。
如果提示存在,您需要将其应用到四个存储过程中的所有相关 SQL 语句。
但我没有看到任何迹象表明此提示存在
不返回任何内容,并且未将其列为有效提示。
然而,上述两者都不是决定性的,因为保罗·怀特指出,同样的情况也适用
DISABLE_PARAMETER_SENSITIVE_PLAN
- 这确实作为一个明显未记录的暗示存在。至关重要的是,尝试
ENABLE_PARAMETER_SENSITIVITY_OPTIMIZATION
或ENABLE_PARAMETER_SENSITIVE_PLAN
反对最新的 CU (CU7) 会返回错误消息搜索 Google
"ENABLE_PARAMETER_SENSITIVITY_OPTIMIZATION"
仅返回此问题和 SQL Server Central 文章,因此不清楚此提示的来源!