IFX_EXTDIRECTIVES 环境变量

IFX_EXTDIRECTIVES 环境变量指定查询优化器是否允许来自 sysdirectives 系统目录表的外部查询优化伪指令应用到现有应用程序的查询中。

您有两个用于设置 IFX_EXTDIRECTIVES 环境变量的选项:

您可以使用 onstat -g env 命令来确定服务器设置。

可指定 ONOFF10 来设置环境变量。
1
接受的外部优化器伪指令
0
不接受的外部优化器伪指令

如果数据库服务器配置文件中的参数 EXT_DIRECTIVES 和客户机系统上的环境变量设置 IFX_EXTDIRECTIVES 都已设置为 1 或 ON,那么给定客户机应用程序内的查询可使用外部伪指令。如果未设置 IFX_EXTDIRECTIVES,那么仅当 ONCONFIG 参数 EXT_DIRECTIVES 设置为 2 时才支持外部伪指令。下表概括了支持外部优化器伪指令的有效 IFX_EXTDIRECTIVES 和 EXT_DIRECTIVES 设置的效果。

表 1. 外部伪指令上的 IFX_EXTDIRECTIVES 和 EXT_DIRECTIVES 设置的效果
  EXT_DIRECTIVES = 0 EXT_DIRECTIVES = 1 EXT_DIRECTIVES = 2
IFX_EXTDIRECTIVES 无设置 OFF OFF ON
IFX_EXTDIRECTIVES0 = OFF OFF OFF OFF
IFX_EXTDIRECTIVES1 = ON OFF ON ON
数据库服务器将除了 1 或 2(或无设置)的任何 EXT_DIRECTIVES 设置解释为等同于 OFF,从而禁用外部伪指令的支持。IFX_EXTDIRECTIVES 除了 1 以外的任何值对客户机具有相同效果。

有关如何定义外部优化器伪指令的信息,请参阅 GBase 8s SQL 指南:语法 中对 SQL 的 SAVE EXTERNAL DIRECTIVES 语句的描述。有关 EXT_DIRECTIVES 配置参数的更多信息,请参阅《GBase 8s 管理员参考》。有关伪指令对性能影响的更多信息,请参阅《GBase 8s 性能指南》。