GBase 8s SQL 指南:语法 南大通用数据技术股份有限公司 1043 术语 意义 时间 当输出显示查询执行计划或那个计划的组件消耗的时间时,该 值的格式为 minutes:seconds.fraction 来显示分、表和秒的 小数部分。 如果查询使用核对顺序而不是 DB_LOCALE 设置的缺省顺序,则输出文件包括 DB_LOCALE 设置以及作为在该查询中(通过 SET COLLATION 指定的)核对 基础的其他语言环境的名称。类似地,如果由于它的核对而不使用索引,则输出 文件作此指示。 完整连接级别设置和输出示例 SET EXPLAIN 语句支持完整连接级别设置。 SET EXPLAIN 语句支持完整连接级别设置。这意味着在连接时将本地会话环境中 的值传播到所有下列类型的新的或恢复的事务: 本地数据库之内的事务 跨同一服务器实例的数据库的分布式事务 跨两个或多个数据库服务器实例的数据库的分布式事务 带有在本地数据库中注册的符合 XA 的数据源的全局事务 如果您更改事务之内的 SET EXPLAIN 设置,则将新的值传播回到本地环境以及 所有随后的新的或恢复的事务。 SET EXPLAIN 输出的示例 下列 SQL 语句导致数据库服务器将 UPDATE 语句(及其子查询)的查询计划 写到缺省的输出文件: DATABASE stores_demo; SET EXPLAIN ON; UPDATE orders SET ship_charge = ship_charge + 2.00 WHERE customer_num IN (SELECT orders.customer_num FROM orders WHERE orders.ship_weight < 50); CLOSE DATABASE; 在结果的输出中显示下列信息:
GBase 8s SQL 指南:语法 南大通用数据技术股份有限公司 1044 QUERY: ------ update orders set ship_charge = ship_charge + 2.00 where customer_num in (select orders.customer_num from orders where orders.ship_weight < 50)
Estimated Cost: 4 Estimated # of Rows Returned: 8
1) gbasedbt.orders: INDEX PATH
(1) Index Keys: customer_num (Serial, fragments: ALL) Lower Index Filter: gbasedbt.orders.customer_num = ANY
Subquery: --------- Estimated Cost: 2 Estimated # of Rows Returned: 8 (Temp Table For Subquery)
1) gbasedbt.orders: SEQUENTIAL SCAN
Filters: gbasedbt.orders.ship_weight < 50.00 下一示例基于下列 SQL 语句,其中包括 DELETE 操作: DATABASE stores_demo; SET EXPLAIN ON; DELETE FROM catalog WHERE stock_num IN (SELECT stock.stock_num FROM stock, catalog WHERE stock.stock_num = catalog.stock_num AND stock.unit_price < 50); CLOSE DATABASE; 以下是结果输出: QUERY: ------ DELETE FROM catalog WHERE stock_num IN
GBase 8s SQL 指南:语法 南大通用数据技术股份有限公司 1045 (SELECTstock.stock_num from stock, catalog WHERE stock.stock_num = catalog.stock_num AND stock.unit_price < 50);
Estimated Cost: 19 Estimated # of Rows Returned: 37
1) ajay.catalog: INDEX PATH
(1) Index Keys: stock_num manu_code (Serial, fragments: ALL) Lower Index Filter: ajay.catalog.stock_num = ANY
Subquery: --------- Estimated Cost: 12 Estimated # of Rows Returned: 44 (Temp Table For Subquery)
1) ajay.stock: SEQUENTIAL SCAN
Filters: ajay.stock.unit_price < $50.00
2) ajay.catalog: INDEX PATH
(1) Index Keys: stock_num manu_code (Key-Only) (Serial, fragments: ALL) Lower Index Filter: ajay.stock.stock_num = ajay.catalog.stock_num
NESTED LOOP JOIN 在 SET EXPLAIN 输出中的外部表操作 SET EXPLAIN 的 Query Statistics 部分提供关于从外部表加载数据或将数据卸载 到外部表的操作的信息。 SET EXPLAIN 输出文件的 Query Statistics 部分中的下列代码提供关于外部表的 信息: