IFX_EXTDIRECTIVES 环境变量指定查询优化器是否允许来自 sysdirectives 系统目
录表的外部查询优化伪指令应用到现有应用程序的查询中。
您有两个用于设置 IFX_EXTDIRECTIVES 环境变量的选项:
全局,用于所有用户:
在服务器上,将环境中的 IFX_EXTDIRECTIVES 设置为用户 gbasedbt,然后运
行 oninit 命令。
特定于客户机:
在客户机上,设置环境中的 IFX_EXTDIRECTIVES。在客户机环境中设置
IFX_EXTDIRECTIVES 时,无论使用哪种服务器(全局)设置,都会使用客户机设
置。
您可以使用 onstat -g env 命令来确定服务器设置。
可指定 ON 和 OFF 或 1 和 0 来设置环境变量。
GBase 8s SQL 指南:参考
南大通用数据技术股份有限公司 - 171 -
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 性能指南》。