如果启用了 EXPLAIN_STAT 配置参数,那么“查询统计信息”部分将显示在 SQL 的 SET EXPLAIN 语句和 onmode -Y session_id 命令所显示的说明输出文件中。
说明输出文件中的“查询统计信息”部分显示了查询计划预期返回的估计行数、实际返回的行数以及有关查询的其他信息。可以使用这些信息(显示查询计划综合流量以及查询的每个阶段通过的行流量数)来调试性能问题。
以下示例显示了 SET EXPLAIN 输出中的查询统计信息。如果已扫描或已连接的估计行数和实际行数相差很大,那么有关这些表的统计信息可能是旧的,应该更新它们。
图: SET EXPLAIN 输出中的查询统计信息
select * from tab1, tab2 where tab1.c1 = tab2.c1 and tab1.c3 between 0 and 15
Estimated Cost: 104
Estimated # of Rows Returned: 69
1) zelaine.tab2: SEQUENTIAL SCAN
2) zelaine.tab1: INDEX PATH
(1) Index Keys: c1 c3 (Serial, fragments: ALL)
Lower Index Filter: (zelaine.tab1.c1 = zelaine.tab2.c1
AND zelaine.tab1.c3 >= 0 )
Upper Index Filter: zelaine.tab1.c3 <= 15
NESTED LOOP JOIN
Query statistics:
-----------------
Table map :
----------------------------
Internal name Table name
----------------------------
t1 tab2
t2 tab1
type table rows_prod est_rows rows_scan time est_cost
-------------------------------------------------------------------
scan t1 50 50 50 00:00:00 4
type table rows_prod est_rows rows_scan time est_cost
-------------------------------------------------------------------
scan t2 67 69 4 00:00:00 2
type rows_prod est_rows time est_cost
-------------------------------------------------
nljoin 67 70 00:00:00 104