这两个设置似乎相互矛盾。一个强制计划参数化,以便只创建一个计划。另一个允许多个计划
如果你有 Parameterization = forced,参数嗅探应该是假的,还是一个优先?
额外细节
关于下面的评论,从 SS 2016 开始,参数嗅探是一个数据库范围的选项。(这也让我感到惊讶)。另请参阅:SQLShack:SQL Server 2016 参数嗅探
这两个设置似乎相互矛盾。一个强制计划参数化,以便只创建一个计划。另一个允许多个计划
如果你有 Parameterization = forced,参数嗅探应该是假的,还是一个优先?
额外细节
关于下面的评论,从 SS 2016 开始,参数嗅探是一个数据库范围的选项。(这也让我感到惊讶)。另请参阅:SQLShack:SQL Server 2016 参数嗅探
这些并不冲突。参数嗅探是在构建计划时使用参数值的过程。强制参数化将文字变成查询中的参数。
因此,将两者都打开会将文字转换为参数,但在估计基数时不会使用这些值。
更多关于参数嗅探
更多关于强制参数化
参数化和嗅探是独立的活动。SQL Server 可以在不嗅探参数值的情况下对临时语句进行参数化。
Paul White 有一篇很棒的博客文章:参数嗅探、嵌入和重新编译选项,其中详细介绍了参数嗅探和参数化以及示例。