使用 SET EXPLAIN 输出监视分段存储

对表进行分段后,SET EXPLAIN ON 语句的输出将显示数据库服务器扫描哪个表或索引以执行查询。

SET EXPLAIN 输出使用分段号标识分段。这里的分段号与那些包含于 sysfragments 系统目录表中的 partn 列的分段号相同。

以下部分 SET EXPLAIN 输出的示例显示了一个查询,该查询利用分段消除并扫描 表 t1 中的两个分段:
QUERY:
------
SELECT * FROM t1 WHERE c1 > 12

Estimated Cost: 3
Estimated # of Rows Returned: 2

1) gbasedbt.t1: SEQUENTIAL SCAN (Serial, fragments: 1, 2)

      Filters: gbasedbt.t1.c1 > 12

如果优化器必须扫描所有分段(也就是说,如果它不能从注意事项中消除任何分段),那么 SET EXPLAIN 输出将显示 fragments: ALL。此外,如果优化器从考虑事项中消除了所有分段(也就是说,没有任何分段包含查询的信息),那么 SET EXPLAIN 输出将显示分段:NONE

有关数据库服务器如何从注意事项中消除分段的信息,请参阅消除分段的分布方案

有关 SET EXPLAIN ON 语句的更多信息,请参阅显示由优化器选择的查询计划的报告