Skip to content

Instantly share code, notes, and snippets.

@nileema
Last active April 8, 2018 02:09
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save nileema/96943fab53f6f16c0af8 to your computer and use it in GitHub Desktop.
Save nileema/96943fab53f6f16c0af8 to your computer and use it in GitHub Desktop.
presto:tiny> explain (type distributed)
select * from (select orderkey, mod(orderkey,3) from orders) o
join
(select orderkey, mod(orderkey, 3) from orders) o1
on (o.orderkey = o1.orderkey);
Query Plan
----------------------------------------------------------------------------------------------------------------------------------------
Fragment 0 [SINGLE]
Output layout: [orderkey, mod, orderkey_6, mod_17]
- Output[orderkey, len, orderkey, len] => [orderkey:bigint, mod:bigint, orderkey_6:bigint, mod_17:bigint]
len := mod
orderkey := orderkey_6
len := mod_17
- RemoteSource[1] => [mod:bigint, orderkey:bigint, orderkey_6:bigint, mod_17:bigint]
Fragment 1 [SOURCE]
Output layout: [mod, orderkey, orderkey_6, mod_17]
- InnerJoin[("mod" = "mod_17") AND ("orderkey" = "orderkey_6")] => [orderkey:bigint, mod:bigint, orderkey_6:bigint, mod_17:bigint]
- Project => [orderkey:bigint, mod:bigint]
mod := "mod"("orderkey", 3)
- Filter[("mod"("orderkey", 3) = "mod"("orderkey", 3))] => [orderkey:bigint]
- TableScan[tpch:tpch:orders:sf0.01, originalConstraint = true] => [orderkey:bigint]
orderkey := tpch:orderkey
- RemoteSource[2] => [orderkey_6:bigint, mod_17:bigint]
Fragment 2 [SOURCE]
Output layout: [orderkey_6, mod_17]
- Project => [orderkey_6:bigint, mod_17:bigint]
mod_17 := "mod"("orderkey_6", 3)
- Filter[("mod"("orderkey_6", 3) = "mod"("orderkey_6", 3))] => [orderkey_6:bigint]
- TableScan[tpch:tpch:orders:sf0.01, originalConstraint = true] => [orderkey_6:bigint]
orderkey_6 := tpch:orderkey
(1 row)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment