SAVE EXTERNAL DIRECTIVES 语句

使用 SAVE EXTERNAL DIRECTIVES 语句来创建指定的查询的外部优化程序伪指令,并将伪指令保存在数据库中。这些伪指令自动地应用于同一查询的后续实例。此语句是对 SQL 的 ANSI/ISO 标准的扩展。

语法

元素 描述 限制 语法
directive query 有效的优化程序伪指令 必须对查询有效且通过注释指示符定界 优化程序伪指令
query 有效的 SELECT 语句的文本 NULL 字符串无效 SELECT 语句

Usage

SAVE EXTERNAL DIRECTIVES 将一个或多个优化程序伪指令与查询关联,并在 sysdirectives 系统目录表中存储此关联的一条记录,以便随后用于与指定的查询字符串相匹配的查询。此语句在优化程序伪指令的列表与查询的文本之间建立关联,但不执行指定的查询。

如果 SAVE EXTERNAL DIRECTIVES 语句指定多于一个优化程序伪指令,则使用在连续的伪指令之间使用空格字符(ASCII 32)作为分隔符,如下例所示:
SAVE EXTERNAL DIRECTIVES /*+ USE_INDEX */ /*+ ORDERED */ ACTIVE FOR 
     SELECT * FROM systables;
与在查询中不同,在 SAVE EXTERNAL DIRECTIVES 语句的伪指令列表中,逗号(,)不是有效的分隔符。

仅 DBA 或用户 gbasedbt 可执行 SAVE EXTERNAL DIRECTIVES。保存在数据库中的优化程序伪指令称为外部伪指令