======================================================================================== |ID|OPERATOR |NAME |EST.ROWS|EST.TIME(us)| ---------------------------------------------------------------------------------------- |0 |PX COORDINATOR | |625 |10530558 | |1 |└─EXCHANGE OUT DISTR |:EX10002 |625 |10530361 | |2 | └─HASH GROUP BY | |625 |10530214 | |3 | └─EXCHANGE IN DISTR | |1875 |10530113 | |4 | └─EXCHANGE OUT DISTR (HASH) |:EX10001 |1875 |10529916 | |5 | └─HASH GROUP BY | |1875 |10529475 | |6 | └─SHARED HASH JOIN | |49872485|8880512 | |7 | ├─EXCHANGE IN DISTR | |10000000|2648387 | |8 | │ └─EXCHANGE OUT DISTR (BC2HOST)|:EX10000 |10000000|1851736 | |9 | │ └─PX BLOCK ITERATOR | |10000000|69042 | |10| │ └─TABLE FULL SCAN |b(`Report_Code`)|10000000|69042 | |11| └─PX BLOCK ITERATOR | |50002841|301299 | |12| └─COLUMN TABLE FULL SCAN |a |50002841|301299 | ======================================================================================== Outputs & filters: ------------------------------------- 0 - output([INTERNAL_FUNCTION(a.hazard_code(0x7dce0cc22a20), T_FUN_COUNT_SUM(T_FUN_COUNT(a.Id(0x7dce0cc234d0))(0x7dce0cc22d60))(0x7dce0cde2ca0))(0x7dce62c10bc0)]), filter(nil), rowset=256 1 - output([INTERNAL_FUNCTION(a.hazard_code(0x7dce0cc22a20), T_FUN_COUNT_SUM(T_FUN_COUNT(a.Id(0x7dce0cc234d0))(0x7dce0cc22d60))(0x7dce0cde2ca0))(0x7dce62c10bc0)]), filter(nil), rowset=256 dop=3 2 - output([a.hazard_code(0x7dce0cc22a20)], [T_FUN_COUNT_SUM(T_FUN_COUNT(a.Id(0x7dce0cc234d0))(0x7dce0cc22d60))(0x7dce0cde2ca0)]), filter(nil), rowset=256 group([a.hazard_code(0x7dce0cc22a20)]), agg_func([T_FUN_COUNT_SUM(T_FUN_COUNT(a.Id(0x7dce0cc234d0))(0x7dce0cc22d60))(0x7dce0cde2ca0)]) 3 - output([a.hazard_code(0x7dce0cc22a20)], [T_FUN_COUNT(a.Id(0x7dce0cc234d0))(0x7dce0cc22d60)]), filter(nil), rowset=256 4 - output([a.hazard_code(0x7dce0cc22a20)], [T_FUN_COUNT(a.Id(0x7dce0cc234d0))(0x7dce0cc22d60)]), filter(nil), rowset=256 (#keys=1, [a.hazard_code(0x7dce0cc22a20), VARCHAR, 11]), dop=3 5 - output([a.hazard_code(0x7dce0cc22a20)], [T_FUN_COUNT(a.Id(0x7dce0cc234d0))(0x7dce0cc22d60)]), filter(nil), rowset=256 group([a.hazard_code(0x7dce0cc22a20)]), agg_func([T_FUN_COUNT(a.Id(0x7dce0cc234d0))(0x7dce0cc22d60)]) 6 - output([a.hazard_code(0x7dce0cc22a20)], [a.Id(0x7dce0cc234d0)]), filter(nil), rowset=256 equal_conds([a.Report_Code(0x7dce0cc21e10) = b.Report_Code(0x7dce0cc22140)(0x7dce0cc21660)]), other_conds(nil) 7 - output([b.Report_Code(0x7dce0cc22140)]), filter(nil), rowset=256 8 - output([b.Report_Code(0x7dce0cc22140)]), filter(nil), rowset=256 dop=3 9 - output([b.Report_Code(0x7dce0cc22140)]), filter(nil), rowset=256 10 - output([b.Report_Code(0x7dce0cc22140)]), filter(nil), rowset=256 access([b.Report_Code(0x7dce0cc22140)]), partitions(p0) is_index_back=false, is_global_index=false, range_key([b.Report_Code(0x7dce0cc22140)], [b.shadow_pk_0(0x7dce0cd17550)]), range(MIN,MIN ; MAX,MAX)always true 11 - output([a.Id(0x7dce0cc234d0)], [a.Report_Code(0x7dce0cc21e10)], [a.hazard_code(0x7dce0cc22a20)]), filter(nil), rowset=256 12 - output([a.Id(0x7dce0cc234d0)], [a.Report_Code(0x7dce0cc21e10)], [a.hazard_code(0x7dce0cc22a20)]), filter(nil), rowset=256 access([a.Id(0x7dce0cc234d0)], [a.Report_Code(0x7dce0cc21e10)], [a.hazard_code(0x7dce0cc22a20)]), partitions(p0) is_index_back=false, is_global_index=false, range_key([a.Id(0x7dce0cc234d0)]), range(MIN ; MAX)always true Used Hint: ------------------------------------- /*+ */ Qb name trace: ------------------------------------- stmt_id:0, stmt_type:T_EXPLAIN stmt_id:1, SEL$1 > SEL$C6D21C0F Outline Data: ------------------------------------- /*+ BEGIN_OUTLINE_DATA GBY_PUSHDOWN(@"SEL$C6D21C0F") USE_HASH_AGGREGATION(@"SEL$C6D21C0F") LEADING(@"SEL$C6D21C0F" ("zhejiang"."b"@"SEL$1" "zhejiang"."a"@"SEL$1")) USE_HASH(@"SEL$C6D21C0F" "zhejiang"."a"@"SEL$1") PQ_DISTRIBUTE(@"SEL$C6D21C0F" "zhejiang"."a"@"SEL$1" BC2HOST NONE) PARALLEL(@"SEL$C6D21C0F" "b"@"SEL$1" 3) INDEX(@"SEL$C6D21C0F" "b"@"SEL$1" "`Report_Code`") PARALLEL(@"SEL$C6D21C0F" "a"@"SEL$1" 3) FULL(@"SEL$C6D21C0F" "a"@"SEL$1") USE_COLUMN_TABLE(@"SEL$C6D21C0F" "a"@"SEL$1") OUTER_TO_INNER(@"SEL$1") PARALLEL( AUTO ) OPTIMIZER_FEATURES_ENABLE('4.3.1.0') END_OUTLINE_DATA */ Optimization Info: ------------------------------------- b: table_rows:10000000 physical_range_rows:10000000 logical_range_rows:10000000 index_back_rows:0 output_rows:10000000 table_dop:3 dop_method:Auto DOP avaiable_index_name:[`Report_Code`, all_card] pruned_index_name:[all_card] stats version:1724057467157647 dynamic sampling level:0 estimation method:[OPTIMIZER STATISTICS, STORAGE] a: table_rows:50002841 physical_range_rows:50002841 logical_range_rows:50002841 index_back_rows:0 output_rows:50002841 table_dop:3 dop_method:Auto DOP avaiable_index_name:[Report_Code, all_diagnosis] stats version:1724057532781171 dynamic sampling level:0 estimation method:[OPTIMIZER STATISTICS, STORAGE] Plan Type: DISTRIBUTED Note: Degree of Parallelisim is 3 because of Auto DOP