对于在 SPL 例程中的查询,伪指令操作方式有所不同,这是因为在 SPL 例程中 SELECT 语句不一定要在数据库服务器对它执行之前立刻进行优化。
数据库服务器创建 SPL 例程时或在某些版本的 UPDATE STATISTICS 语句的执行期间,优化器在 SPL 例程中为 SELECT 语句创建查询计划。
优化器在创建该查询计划的同时读取并应用伪指令。由于它将查询计划存储在系统目录表中,因而当执行 SELECT 语句时,将不对该语句进行重新优化。因而,当
IFX_DIRECTIVES 和 DIRECTIVES 在以下任何时间进行设置时,它们的设置将影响
SPL 例程中的 SELECT 语句:
- 在 CREATE PROCEDURE 语句之前
- 在 UPDATE STATISTICS 语句之前,该语句将使 SPL 中的 SQL 优化
- 在某些环境期间,当 SELECT 语句具有运行时提供的变量时