| explain |
| ------------------------------- |
| SORT(6) |
| => Sort Keys: default.lineitem.l_orderkey (INT4) (asc, nulls last),default.part.p_name (TEXT) (asc, nulls last),default.nation.n_name (TEXT) (asc, nulls last) |
| JOIN(16)(INNER) |
| => Join Cond: default.lineitem.l_orderkey (INT4) = default.orders.o_orderkey (INT4) |
| => target list: default.lineitem.l_orderkey (INT4), default.nation.n_name (TEXT), default.part.p_name (TEXT) |
| => out schema: {(3) default.lineitem.l_orderkey (INT4), default.nation.n_name (TEXT), default.part.p_name (TEXT)} |
| => in schema: {(4) default.lineitem.l_orderkey (INT4), default.nation.n_name (TEXT), default.orders.o_orderkey (INT4), default.part.p_name (TEXT)} |
| JOIN(15)(INNER) |
| => Join Cond: default.lineitem.l_partkey (INT4) = default.part.p_partkey (INT4) |
| => target list: default.lineitem.l_orderkey (INT4), default.part.p_name (TEXT) |
| => out schema: {(2) default.lineitem.l_orderkey (INT4), default.part.p_name (TEXT)} |
| => in schema: {(4) default.lineitem.l_orderkey (INT4), default.lineitem.l_partkey (INT4), default.part.p_name (TEXT), default.part.p_partkey (INT4)} |
| SCAN(2) on default.part |
| => target list: default.part.p_name (TEXT), default.part.p_partkey (INT4) |
| => out schema: {(2) default.part.p_name (TEXT), default.part.p_partkey (INT4)} |
| => in schema: {(9) default.part.p_brand (TEXT), default.part.p_comment (TEXT), default.part.p_container (TEXT), default.part.p_mfgr (TEXT), default.part.p_name (TEXT), default.part.p_partkey (INT4), default.part.p_retailprice (FLOAT8), default.part.p_size (INT4), default.part.p_type (TEXT)} |
| SCAN(0) on default.lineitem |
| => target list: default.lineitem.l_orderkey (INT4), default.lineitem.l_partkey (INT4) |
| => out schema: {(2) default.lineitem.l_orderkey (INT4), default.lineitem.l_partkey (INT4)} |
| => in schema: {(16) default.lineitem.l_comment (TEXT), default.lineitem.l_commitdate (TEXT), default.lineitem.l_discount (FLOAT8), default.lineitem.l_extendedprice (FLOAT8), default.lineitem.l_linenumber (INT4), default.lineitem.l_linestatus (TEXT), default.lineitem.l_orderkey (INT4), default.lineitem.l_partkey (INT4), default.lineitem.l_quantity (FLOAT8), default.lineitem.l_receiptdate (TEXT), default.lineitem.l_returnflag (TEXT), default.lineitem.l_shipdate (TEXT), default.lineitem.l_shipinstruct (TEXT), default.lineitem.l_shipmode (TEXT), default.lineitem.l_suppkey (INT4), default.lineitem.l_tax (FLOAT8)} |
| JOIN(14)(INNER) |
| => Join Cond: default.orders.o_custkey (INT4) = default.customer.c_custkey (INT4) |
| => target list: default.nation.n_name (TEXT), default.orders.o_orderkey (INT4) |
| => out schema: {(2) default.nation.n_name (TEXT), default.orders.o_orderkey (INT4)} |
| => in schema: {(4) default.customer.c_custkey (INT4), default.nation.n_name (TEXT), default.orders.o_custkey (INT4), default.orders.o_orderkey (INT4)} |
| SCAN(1) on default.orders |
| => target list: default.orders.o_custkey (INT4), default.orders.o_orderkey (INT4) |
| => out schema: {(2) default.orders.o_custkey (INT4), default.orders.o_orderkey (INT4)} |
| => in schema: {(9) default.orders.o_clerk (TEXT), default.orders.o_comment (TEXT), default.orders.o_custkey (INT4), default.orders.o_orderdate (TEXT), default.orders.o_orderkey (INT4), default.orders.o_orderpriority (TEXT), default.orders.o_orderstatus (TEXT), default.orders.o_shippriority (INT4), default.orders.o_totalprice (FLOAT8)} |
| JOIN(13)(INNER) |
| => Join Cond: default.customer.c_nationkey (INT4) = default.nation.n_nationkey (INT4) |
| => target list: default.customer.c_custkey (INT4), default.nation.n_name (TEXT) |
| => out schema: {(2) default.customer.c_custkey (INT4), default.nation.n_name (TEXT)} |
| => in schema: {(4) default.customer.c_custkey (INT4), default.customer.c_nationkey (INT4), default.nation.n_name (TEXT), default.nation.n_nationkey (INT4)} |
| SCAN(4) on default.nation |
| => target list: default.nation.n_name (TEXT), default.nation.n_nationkey (INT4) |
| => out schema: {(2) default.nation.n_name (TEXT), default.nation.n_nationkey (INT4)} |
| => in schema: {(4) default.nation.n_comment (TEXT), default.nation.n_name (TEXT), default.nation.n_nationkey (INT4), default.nation.n_regionkey (INT4)} |
| SCAN(3) on default.customer |
| => target list: default.customer.c_custkey (INT4), default.customer.c_nationkey (INT4) |
| => out schema: {(2) default.customer.c_custkey (INT4), default.customer.c_nationkey (INT4)} |
| => in schema: {(8) default.customer.c_acctbal (FLOAT8), default.customer.c_address (TEXT), default.customer.c_comment (TEXT), default.customer.c_custkey (INT4), default.customer.c_mktsegment (TEXT), default.customer.c_name (TEXT), default.customer.c_nationkey (INT4), default.customer.c_phone (TEXT)} |
| explain |
| ------------------------------- |
| ------------------------------------------------------------------------------- |
| Execution Block Graph (TERMINAL - eb_0000000000000_0000_000011) |
| ------------------------------------------------------------------------------- |
| |-eb_0000000000000_0000_000011 |
| |-eb_0000000000000_0000_000010 |
| |-eb_0000000000000_0000_000009 |
| |-eb_0000000000000_0000_000008 |
| |-eb_0000000000000_0000_000007 |
| |-eb_0000000000000_0000_000006 |
| |-eb_0000000000000_0000_000005 |
| |-eb_0000000000000_0000_000004 |
| |-eb_0000000000000_0000_000003 |
| ------------------------------------------------------------------------------- |
| Order of Execution |
| ------------------------------------------------------------------------------- |
| 1: eb_0000000000000_0000_000003 |
| 2: eb_0000000000000_0000_000004 |
| 3: eb_0000000000000_0000_000006 |
| 4: eb_0000000000000_0000_000007 |
| 5: eb_0000000000000_0000_000005 |
| 6: eb_0000000000000_0000_000008 |
| 7: eb_0000000000000_0000_000009 |
| 8: eb_0000000000000_0000_000010 |
| 9: eb_0000000000000_0000_000011 |
| ------------------------------------------------------------------------------- |
| |
| ======================================================= |
| Block Id: eb_0000000000000_0000_000003 [LEAF] |
| ======================================================= |
| |
| [Outgoing] |
| [q_0000000000000_0000] 3 => 5 (type=HASH_SHUFFLE, key=default.customer.c_custkey (INT4), num=32) |
| |
| [Enforcers] |
| 0: type=Broadcast, tables=default.nation |
| |
| JOIN(13)(INNER) |
| => Join Cond: default.customer.c_nationkey (INT4) = default.nation.n_nationkey (INT4) |
| => target list: default.customer.c_custkey (INT4), default.nation.n_name (TEXT) |
| => out schema: {(2) default.customer.c_custkey (INT4), default.nation.n_name (TEXT)} |
| => in schema: {(4) default.customer.c_custkey (INT4), default.customer.c_nationkey (INT4), default.nation.n_name (TEXT), default.nation.n_nationkey (INT4)} |
| SCAN(4) on default.nation |
| => target list: default.nation.n_name (TEXT), default.nation.n_nationkey (INT4) |
| => out schema: {(2) default.nation.n_name (TEXT), default.nation.n_nationkey (INT4)} |
| => in schema: {(4) default.nation.n_comment (TEXT), default.nation.n_name (TEXT), default.nation.n_nationkey (INT4), default.nation.n_regionkey (INT4)} |
| SCAN(3) on default.customer |
| => target list: default.customer.c_custkey (INT4), default.customer.c_nationkey (INT4) |
| => out schema: {(2) default.customer.c_custkey (INT4), default.customer.c_nationkey (INT4)} |
| => in schema: {(8) default.customer.c_acctbal (FLOAT8), default.customer.c_address (TEXT), default.customer.c_comment (TEXT), default.customer.c_custkey (INT4), default.customer.c_mktsegment (TEXT), default.customer.c_name (TEXT), default.customer.c_nationkey (INT4), default.customer.c_phone (TEXT)} |
| |
| ======================================================= |
| Block Id: eb_0000000000000_0000_000004 [LEAF] |
| ======================================================= |
| |
| [Outgoing] |
| [q_0000000000000_0000] 4 => 5 (type=HASH_SHUFFLE, key=default.orders.o_custkey (INT4), num=32) |
| |
| SCAN(1) on default.orders |
| => target list: default.orders.o_custkey (INT4), default.orders.o_orderkey (INT4) |
| => out schema: {(2) default.orders.o_custkey (INT4), default.orders.o_orderkey (INT4)} |
| => in schema: {(9) default.orders.o_clerk (TEXT), default.orders.o_comment (TEXT), default.orders.o_custkey (INT4), default.orders.o_orderdate (TEXT), default.orders.o_orderkey (INT4), default.orders.o_orderpriority (TEXT), default.orders.o_orderstatus (TEXT), default.orders.o_shippriority (INT4), default.orders.o_totalprice (FLOAT8)} |
| |
| ======================================================= |
| Block Id: eb_0000000000000_0000_000006 [LEAF] |
| ======================================================= |
| |
| [Outgoing] |
| [q_0000000000000_0000] 6 => 8 (type=HASH_SHUFFLE, key=default.lineitem.l_partkey (INT4), num=32) |
| |
| SCAN(0) on default.lineitem |
| => target list: default.lineitem.l_orderkey (INT4), default.lineitem.l_partkey (INT4) |
| => out schema: {(2) default.lineitem.l_orderkey (INT4), default.lineitem.l_partkey (INT4)} |
| => in schema: {(16) default.lineitem.l_comment (TEXT), default.lineitem.l_commitdate (TEXT), default.lineitem.l_discount (FLOAT8), default.lineitem.l_extendedprice (FLOAT8), default.lineitem.l_linenumber (INT4), default.lineitem.l_linestatus (TEXT), default.lineitem.l_orderkey (INT4), default.lineitem.l_partkey (INT4), default.lineitem.l_quantity (FLOAT8), default.lineitem.l_receiptdate (TEXT), default.lineitem.l_returnflag (TEXT), default.lineitem.l_shipdate (TEXT), default.lineitem.l_shipinstruct (TEXT), default.lineitem.l_shipmode (TEXT), default.lineitem.l_suppkey (INT4), default.lineitem.l_tax (FLOAT8)} |
| |
| ======================================================= |
| Block Id: eb_0000000000000_0000_000007 [LEAF] |
| ======================================================= |
| |
| [Outgoing] |
| [q_0000000000000_0000] 7 => 8 (type=HASH_SHUFFLE, key=default.part.p_partkey (INT4), num=32) |
| |
| SCAN(2) on default.part |
| => target list: default.part.p_name (TEXT), default.part.p_partkey (INT4) |
| => out schema: {(2) default.part.p_name (TEXT), default.part.p_partkey (INT4)} |
| => in schema: {(9) default.part.p_brand (TEXT), default.part.p_comment (TEXT), default.part.p_container (TEXT), default.part.p_mfgr (TEXT), default.part.p_name (TEXT), default.part.p_partkey (INT4), default.part.p_retailprice (FLOAT8), default.part.p_size (INT4), default.part.p_type (TEXT)} |
| |
| ======================================================= |
| Block Id: eb_0000000000000_0000_000005 [INTERMEDIATE] |
| ======================================================= |
| |
| [Incoming] |
| [q_0000000000000_0000] 3 => 5 (type=HASH_SHUFFLE, key=default.customer.c_custkey (INT4), num=32) |
| [q_0000000000000_0000] 4 => 5 (type=HASH_SHUFFLE, key=default.orders.o_custkey (INT4), num=32) |
| |
| [Outgoing] |
| [q_0000000000000_0000] 5 => 9 (type=HASH_SHUFFLE, key=default.orders.o_orderkey (INT4), num=32) |
| |
| JOIN(14)(INNER) |
| => Join Cond: default.orders.o_custkey (INT4) = default.customer.c_custkey (INT4) |
| => target list: default.nation.n_name (TEXT), default.orders.o_orderkey (INT4) |
| => out schema: {(2) default.nation.n_name (TEXT), default.orders.o_orderkey (INT4)} |
| => in schema: {(4) default.customer.c_custkey (INT4), default.nation.n_name (TEXT), default.orders.o_custkey (INT4), default.orders.o_orderkey (INT4)} |
| SCAN(21) on eb_0000000000000_0000_000004 |
| => out schema: {(2) default.orders.o_custkey (INT4), default.orders.o_orderkey (INT4)} |
| => in schema: {(2) default.orders.o_custkey (INT4), default.orders.o_orderkey (INT4)} |
| SCAN(20) on eb_0000000000000_0000_000003 |
| => out schema: {(2) default.customer.c_custkey (INT4), default.nation.n_name (TEXT)} |
| => in schema: {(2) default.customer.c_custkey (INT4), default.nation.n_name (TEXT)} |
| |
| ======================================================= |
| Block Id: eb_0000000000000_0000_000008 [INTERMEDIATE] |
| ======================================================= |
| |
| [Incoming] |
| [q_0000000000000_0000] 6 => 8 (type=HASH_SHUFFLE, key=default.lineitem.l_partkey (INT4), num=32) |
| [q_0000000000000_0000] 7 => 8 (type=HASH_SHUFFLE, key=default.part.p_partkey (INT4), num=32) |
| |
| [Outgoing] |
| [q_0000000000000_0000] 8 => 9 (type=HASH_SHUFFLE, key=default.lineitem.l_orderkey (INT4), num=32) |
| |
| JOIN(15)(INNER) |
| => Join Cond: default.lineitem.l_partkey (INT4) = default.part.p_partkey (INT4) |
| => target list: default.lineitem.l_orderkey (INT4), default.part.p_name (TEXT) |
| => out schema: {(2) default.lineitem.l_orderkey (INT4), default.part.p_name (TEXT)} |
| => in schema: {(4) default.lineitem.l_orderkey (INT4), default.lineitem.l_partkey (INT4), default.part.p_name (TEXT), default.part.p_partkey (INT4)} |
| SCAN(23) on eb_0000000000000_0000_000007 |
| => out schema: {(2) default.part.p_name (TEXT), default.part.p_partkey (INT4)} |
| => in schema: {(2) default.part.p_name (TEXT), default.part.p_partkey (INT4)} |
| SCAN(22) on eb_0000000000000_0000_000006 |
| => out schema: {(2) default.lineitem.l_orderkey (INT4), default.lineitem.l_partkey (INT4)} |
| => in schema: {(2) default.lineitem.l_orderkey (INT4), default.lineitem.l_partkey (INT4)} |
| |
| ======================================================= |
| Block Id: eb_0000000000000_0000_000009 [INTERMEDIATE] |
| ======================================================= |
| |
| [Incoming] |
| [q_0000000000000_0000] 5 => 9 (type=HASH_SHUFFLE, key=default.orders.o_orderkey (INT4), num=32) |
| [q_0000000000000_0000] 8 => 9 (type=HASH_SHUFFLE, key=default.lineitem.l_orderkey (INT4), num=32) |
| |
| [Outgoing] |
| [q_0000000000000_0000] 9 => 10 (type=RANGE_SHUFFLE, key=default.lineitem.l_orderkey (INT4), default.nation.n_name (TEXT), default.part.p_name (TEXT), num=32) |
| |
| SORT(26) |
| => Sort Keys: default.lineitem.l_orderkey (INT4) (asc, nulls last),default.part.p_name (TEXT) (asc, nulls last),default.nation.n_name (TEXT) (asc, nulls last) |
| JOIN(16)(INNER) |
| => Join Cond: default.lineitem.l_orderkey (INT4) = default.orders.o_orderkey (INT4) |
| => target list: default.lineitem.l_orderkey (INT4), default.nation.n_name (TEXT), default.part.p_name (TEXT) |
| => out schema: {(3) default.lineitem.l_orderkey (INT4), default.nation.n_name (TEXT), default.part.p_name (TEXT)} |
| => in schema: {(4) default.lineitem.l_orderkey (INT4), default.nation.n_name (TEXT), default.orders.o_orderkey (INT4), default.part.p_name (TEXT)} |
| SCAN(25) on eb_0000000000000_0000_000008 |
| => out schema: {(2) default.lineitem.l_orderkey (INT4), default.part.p_name (TEXT)} |
| => in schema: {(2) default.lineitem.l_orderkey (INT4), default.part.p_name (TEXT)} |
| SCAN(24) on eb_0000000000000_0000_000005 |
| => out schema: {(2) default.nation.n_name (TEXT), default.orders.o_orderkey (INT4)} |
| => in schema: {(2) default.nation.n_name (TEXT), default.orders.o_orderkey (INT4)} |
| |
| ======================================================= |
| Block Id: eb_0000000000000_0000_000010 [ROOT] |
| ======================================================= |
| |
| [Incoming] |
| [q_0000000000000_0000] 9 => 10 (type=RANGE_SHUFFLE, key=default.lineitem.l_orderkey (INT4), default.nation.n_name (TEXT), default.part.p_name (TEXT), num=32) |
| |
| [Enforcers] |
| 0: sorted input=eb_0000000000000_0000_000009 |
| |
| SORT(6) |
| => Sort Keys: default.lineitem.l_orderkey (INT4) (asc, nulls last),default.part.p_name (TEXT) (asc, nulls last),default.nation.n_name (TEXT) (asc, nulls last) |
| SCAN(27) on eb_0000000000000_0000_000009 |
| => out schema: {(3) default.lineitem.l_orderkey (INT4), default.nation.n_name (TEXT), default.part.p_name (TEXT)} |
| => in schema: {(3) default.lineitem.l_orderkey (INT4), default.nation.n_name (TEXT), default.part.p_name (TEXT)} |
| |
| ======================================================= |
| Block Id: eb_0000000000000_0000_000011 [TERMINAL] |
| ======================================================= |