SQL 语句中的伪指令嵌入查询中。
这些伪指令包括访问方法伪指令、连接顺序伪指令、连接计划伪指令和优化目标伪指令。
将伪指令作为注释包含在
SQL 语句中,该注释紧跟在 SELECT、UPDATE 或 DELETE 关键字的后面。伪指令中的第一个字符常常是加号 (+)。在以下查询中,ORDERED 伪指令指定表的连接顺序应该与这些表在
FROM 子句中所列的顺序相同。AVOID_FULL 伪指令指定优化器应该废弃任何包含对所列的表 (
employee) 的全面扫描的计划。
SELECT --+ORDERED, AVOID_FULL(e) * FROM employee e, department d
> 50000;
有关伪指令的完整的语法描述,请参阅 GBase 8s SQL 指南:语法。
要影响优化器所做的查询计划的选择,您可以变更查询的以下几个方面:
- 访问方法
- 连接顺序
- 连接方法
- 优化目标
- 星型连接伪指令
您还可以使用 EXPLAIN 伪指令而不是 SET EXPLAIN 语句来显示查询计划。以下几节对这些方面进行了详细描述。