1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-07-29 08:21:15 +03:00
Files
mariadb-columnstore-engine/dbcon/doc/q9_plan.txt
2016-01-06 14:08:59 -06:00

344 lines
7.6 KiB
Plaintext
Executable File

Q9
select
nation,
o_year,
sum(amount) as sum_profit
from
(
select
n_name as nation,
extract(year from o_orderdate) as o_year,
l_extendedprice * (1 - l_discount) - ps_supplycost * l_quantity as amount
from
part,
supplier,
lineitem,
partsupp,
orders,
nation
where
s_suppkey = l_suppkey
and ps_suppkey = l_suppkey
and ps_partkey = l_partkey
and p_partkey = l_partkey
and o_orderkey = l_orderkey
and s_nationkey = n_nationkey
and p_name like '%:1%'
) profit
group by
nation,
o_year
order by
nation,
o_year desc;
Oracle execution Plan
Operation: table access
Options: FULL
Object_type: TABLE
Other:
Object_owner: CALUSER01
Search_columns:
Projection: P_PARTKEY
Object_name: PART
Alias: PART@SEL$2
Extended_information: FP:P_NAME LIKE '%:1%'
Access_predicates:
Filter_predicates: P_NAME LIKE '%:1%'
Select_level: SEL$F5BB74E1
--------------------
Operation: table access
Options: FULL
Object_type: TABLE
Other:
Object_owner: CALUSER01
Search_columns:
Projection: L_ORDERKEY^L_PARTKEY^L_SUPPKEY^L_QUANTITY^L_EXTENDEDPRICE^L_DISCOUNT
Object_name: LINEITEM
Alias: LINEITEM@SEL$2
Extended_information:
Access_predicates:
Filter_predicates:
Select_level: SEL$F5BB74E1
--------------------
Operation: hash join
Options:
Object_type:
Other:
Object_owner:
Search_columns:
Projection: L_PARTKEY^L_ORDERKEY^L_DISCOUNT^L_SUPPKEY^L_QUANTITY^L_EXTENDEDPRICE
Object_name:
Alias:
Extended_information: AP:P_PARTKEY=L_PARTKEY
Access_predicates: P_PARTKEY=L_PARTKEY
Filter_predicates:
Select_level:
--------------------
Operation: table access
Options: FULL
Object_type: TABLE
Other:
Object_owner: CALUSER01
Search_columns:
Projection: S_SUPPKEY^S_NATIONKEY
Object_name: SUPPLIER
Alias: SUPPLIER@SEL$2
Extended_information:
Access_predicates:
Filter_predicates:
Select_level: SEL$F5BB74E1
--------------------
Operation: hash join
Options:
Object_type:
Other:
Object_owner:
Search_columns:
Projection: L_SUPPKEY^L_PARTKEY^L_ORDERKEY^L_DISCOUNT^L_EXTENDEDPRICE^L_QUANTITY^S_NATIONKEY
Object_name:
Alias:
Extended_information: AP:S_SUPPKEY=L_SUPPKEY
Access_predicates: S_SUPPKEY=L_SUPPKEY
Filter_predicates:
Select_level:
--------------------
Operation: table access
Options: FULL
Object_type: TABLE
Other:
Object_owner: CALUSER01
Search_columns:
Projection: PS_PARTKEY^PS_SUPPKEY^PS_SUPPLYCOST
Object_name: PARTSUPP
Alias: PARTSUPP@SEL$2
Extended_information:
Access_predicates:
Filter_predicates:
Select_level: SEL$F5BB74E1
--------------------
Operation: hash join
Options:
Object_type:
Other:
Object_owner:
Search_columns:
Projection: S_NATIONKEY^L_QUANTITY^L_ORDERKEY^L_DISCOUNT^L_EXTENDEDPRICE^PS_SUPPLYCOST
Object_name:
Alias:
Extended_information: AP:PS_SUPPKEY=L_SUPPKEY AND PS_PARTKEY=L_PARTKEY
Access_predicates: PS_SUPPKEY=L_SUPPKEY&PS_PARTKEY=L_PARTKEY
Filter_predicates:
Select_level:
--------------------
Operation: table access
Options: FULL
Object_type: TABLE
Other:
Object_owner: CALUSER01
Search_columns:
Projection: O_ORDERKEY^O_ORDERDATE
Object_name: ORDERS
Alias: ORDERS@SEL$2
Extended_information:
Access_predicates:
Filter_predicates:
Select_level: SEL$F5BB74E1
--------------------
Operation: hash join
Options:
Object_type:
Other:
Object_owner:
Search_columns:
Projection: S_NATIONKEY^L_QUANTITY^PS_SUPPLYCOST^L_DISCOUNT^L_EXTENDEDPRICE^O_ORDERDATE
Object_name:
Alias:
Extended_information: AP:O_ORDERKEY=L_ORDERKEY
Access_predicates: O_ORDERKEY=L_ORDERKEY
Filter_predicates:
Select_level:
--------------------
Operation: table access
Options: FULL
Object_type: TABLE
Other:
Object_owner: CALUSER01
Search_columns:
Projection: N_NATIONKEY^N_NAME
Object_name: NATION
Alias: NATION@SEL$2
Extended_information:
Access_predicates:
Filter_predicates:
Select_level: SEL$F5BB74E1
--------------------
Operation: hash join
Options:
Object_type:
Other:
Object_owner:
Search_columns:
Projection: O_ORDERDATE^L_QUANTITY^PS_SUPPLYCOST^L_DISCOUNT^L_EXTENDEDPRICE^N_NAME
Object_name:
Alias:
Extended_information: AP:S_NATIONKEY=N_NATIONKEY
Access_predicates: S_NATIONKEY=N_NATIONKEY
Filter_predicates:
Select_level:
--------------------
Operation: sort
Options: GROUP BY
Object_type:
Other:
Object_owner:
Search_columns:
Projection: N_NAME^EXTRACT(YEAR FROM INTERNAL_FUNCTION(O_ORDERDATE))^SUM(L_EXTENDEDPRICE*(1-L_DISCOUNT)-PS_SUPPLYCOST*L_QUANTITY)
Object_name:
Alias:
Extended_information:
Access_predicates:
Filter_predicates:
Select_level: SEL$F5BB74E1
--------------------
Operation: select statement
Options:
Object_type:
Other:
Object_owner:
Search_columns:
Projection:
Object_name:
Alias:
Extended_information:
Access_predicates:
Filter_predicates:
Select_level:
--------------------
Calpont Execution Plan
>SELECT MAIN
>>Returned Columns
SimpleColumn tpch.NATION.N_NAME
s/t/c/T/A: tpch/NATION/N_NAME/5/NATION
ArithmeticColumn: FunctionColumn: extract(YEAR FROM INTERNAL_FUNCTION(O_ORDERDATE))
ArithmeticColumn: AggregateColumn sum(L_EXTENDEDPRICE*(1-L_DISCOUNT)-PS_SUPPLYCOST*L_QUANTITY)
ArithmeticColumn: SimpleColumn L_EXTENDEDPRICE
s/t/c/T/A: ///0/
ConstantColumn: 1(n)
SimpleColumn L_DISCOUNT
s/t/c/T/A: ///0/
Operator: -
Operator: *
SimpleColumn PS_SUPPLYCOST
s/t/c/T/A: ///0/
SimpleColumn L_QUANTITY
s/t/c/T/A: ///0/
Operator: *
Operator: -
>>Filters
SimpleFilter
SimpleColumn tpch.PART.P_NAME
s/t/c/T/A: tpch/PART/P_NAME/47/
Operator: LIKE ConstantColumn: %:1%(l)
SimpleFilter
SimpleColumn tpch.PART.P_PARTKEY
s/t/c/T/A: tpch/PART/P_PARTKEY/46/PART
Operator: = SimpleColumn tpch.LINEITEM.L_PARTKEY
s/t/c/T/A: tpch/LINEITEM/L_PARTKEY/26/LINEITEM
Operator: and
SimpleFilter
SimpleColumn tpch.SUPPLIER.S_SUPPKEY
s/t/c/T/A: tpch/SUPPLIER/S_SUPPKEY/55/SUPPLIER
Operator: = SimpleColumn tpch.LINEITEM.L_SUPPKEY
s/t/c/T/A: tpch/LINEITEM/L_SUPPKEY/27/LINEITEM
Operator: and
SimpleFilter
SimpleColumn tpch.PARTSUPP.PS_SUPPKEY
s/t/c/T/A: tpch/PARTSUPP/PS_SUPPKEY/42/PARTSUPP
Operator: = SimpleColumn tpch.LINEITEM.L_SUPPKEY
s/t/c/T/A: tpch/LINEITEM/L_SUPPKEY/27/LINEITEM
SimpleFilter
SimpleColumn tpch.PARTSUPP.PS_PARTKEY
s/t/c/T/A: tpch/PARTSUPP/PS_PARTKEY/41/PARTSUPP
Operator: = SimpleColumn tpch.LINEITEM.L_PARTKEY
s/t/c/T/A: tpch/LINEITEM/L_PARTKEY/26/LINEITEM
Operator: AND
Operator: and
SimpleFilter
SimpleColumn tpch.ORDERS.O_ORDERKEY
s/t/c/T/A: tpch/ORDERS/O_ORDERKEY/16/ORDERS
Operator: = SimpleColumn tpch.LINEITEM.L_ORDERKEY
s/t/c/T/A: tpch/LINEITEM/L_ORDERKEY/25/LINEITEM
Operator: and
SimpleFilter
SimpleColumn tpch.SUPPLIER.S_NATIONKEY
s/t/c/T/A: tpch/SUPPLIER/S_NATIONKEY/58/SUPPLIER
Operator: = SimpleColumn tpch.NATION.N_NATIONKEY
s/t/c/T/A: tpch/NATION/N_NATIONKEY/4/NATION
Operator: and
>>Group By Columns
SimpleColumn tpch.NATION.N_NAME
s/t/c/T/A: tpch/NATION/N_NAME/5/NATION
ArithmeticColumn: FunctionColumn: extract(YEAR FROM INTERNAL_FUNCTION(O_ORDERDATE))
ArithmeticColumn: AggregateColumn sum(L_EXTENDEDPRICE*(1-L_DISCOUNT)-PS_SUPPLYCOST*L_QUANTITY)
ArithmeticColumn: SimpleColumn L_EXTENDEDPRICE
s/t/c/T/A: ///0/
ConstantColumn: 1(n)
SimpleColumn L_DISCOUNT
s/t/c/T/A: ///0/
Operator: -
Operator: *
SimpleColumn PS_SUPPLYCOST
s/t/c/T/A: ///0/
SimpleColumn L_QUANTITY
s/t/c/T/A: ///0/
Operator: *
Operator: -
SessionID: 4850
TxnID: 322
VerID: 322
--- Column Map ---
L_DISCOUNT : 0x9c07cb0
L_EXTENDEDPRICE : 0x9c07c80
L_ORDERKEY : 0x9be27c8
L_PARTKEY : 0x9c07b18
L_QUANTITY : 0x9c07b78
L_SUPPKEY : 0x9c07b48
N_NAME : 0x9c072d0
N_NATIONKEY : 0x9c072a0
O_ORDERDATE : 0x9c071b8
O_ORDERKEY : 0x9c07188
PS_PARTKEY : 0x9c07ba8
PS_SUPPKEY : 0x9c07bd8
PS_SUPPLYCOST : 0x9c07c08
P_NAME : 0x9be2758
P_PARTKEY : 0x9bdbdf8
S_NATIONKEY : 0x9c07db0
S_SUPPKEY : 0x9c07d80