IFX_EXTDIRECTIVES 环境变量指定查询优化器是否允许来自 sysdirectives 系统目录表的外部查询优化伪指令应用到现有应用程序的查询中。
您有两个用于设置 IFX_EXTDIRECTIVES 环境变量的选项:
在服务器上,将环境中的 IFX_EXTDIRECTIVES 设置为用户 gbasedbt,然后运行 oninit 命令。
在客户机上,设置环境中的 IFX_EXTDIRECTIVES。在客户机环境中设置 IFX_EXTDIRECTIVES 时,无论使用哪种服务器(全局)设置,都会使用客户机设置。
您可以使用 onstat -g env 命令来确定服务器设置。
如果数据库服务器配置文件中的参数 EXT_DIRECTIVES 和客户机系统上的环境变量设置 IFX_EXTDIRECTIVES 都已设置为 1 或 ON,那么给定客户机应用程序内的查询可使用外部伪指令。如果未设置 IFX_EXTDIRECTIVES,那么仅当 ONCONFIG 参数 EXT_DIRECTIVES 设置为 2 时才支持外部伪指令。下表概括了支持外部优化器伪指令的有效 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 |
有关如何定义外部优化器伪指令的信息,请参阅 GBase 8s SQL 指南:语法 中对 SQL 的 SAVE EXTERNAL DIRECTIVES 语句的描述。有关 EXT_DIRECTIVES 配置参数的更多信息,请参阅《GBase 8s 管理员参考》。有关伪指令对性能影响的更多信息,请参阅《GBase 8s 性能指南》。