您好,我是小DAI,专注于数据库管理员相关的技术问答,请问有什么可以帮您?

sp_optgoal

说明

创建用户定义的优化目标,并定义包括在目标内的活动条件集。

此系统过程包含制定优化目标的功能,这些目标使用 sp_configure 在服务器中运行并保存至全局优化级别。您可以通过 set 命令在会话级别使用此功能,或通过 sp_configure 在全局使用此功能。

语法


sp_optgoal '<goal_name>’, <action>

参数

<goal_name>

要创建的目标的名称。<goal_name> 不能超过 12 个字符。

<action>

sp_optgoal 要执行的操作。可以是下列项之一:

  • show | null | no action – 显示目标内容。

  • save – 创建新目标并更新现有目标。

  • delete – 删除目标。

    示例

    示例 1

    如果为当前会话设置以下目标:

    
    SET PLAN OPTLEVEL ase_current
    SET PLAN  OPTGOAL allrows_mix
    SET HASH_JOIN 1
    

    该命令将这些设置存储在名为 goal_1 的目标中:

    
    sp_optgoal 'goal_1', 'save'
    

    其中一个选项可为当前会话使用 goal_1 的设置:

  • 使用 set 命令:

    
    set plan optgoal goal_1
    

  • 使用 sp_configure:

    
    sp_configure "optimization goal", 1, "goal_1"
    

    示例 2

    删除 goal_1:

    
    sp_optgoal 'goal_1', 'delete'
    

    用法

    不带参数的 sp_optgoal 显示所有用户定义的优化程序目标列表。