BEGIN; BEGIN EXPLAIN (ANALYZE, BUFFERS) 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 '%khaki%' ) as profit group by nation, o_year order by nation, o_year desc; QUERY PLAN ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- GroupAggregate (cost=1230842.62..1230847.38 rows=136 width=46) (actual time=116893.135..120066.764 rows=175 loops=1) Group Key: nation.n_name, (date_part('year'::text, (orders.o_orderdate)::timestamp without time zone)) Buffers: shared hit=35684400 read=2307914 dirtied=13224 written=18791 -> Sort (cost=1230842.62..1230842.96 rows=136 width=46) (actual time=116881.912..117856.546 rows=3263552 loops=1) Sort Key: nation.n_name, (date_part('year'::text, (orders.o_orderdate)::timestamp without time zone)) Sort Method: quicksort Memory: 557242kB Buffers: shared hit=35684400 read=2307914 dirtied=13224 written=18791 -> Hash Join (cost=66926.24..1230837.81 rows=136 width=46) (actual time=1030.559..103121.174 rows=3263552 loops=1) Hash Cond: (supplier.s_nationkey = nation.n_nationkey) Buffers: shared hit=35684392 read=2307914 dirtied=13224 written=18791 -> Nested Loop (cost=66924.68..1230833.69 rows=136 width=24) (actual time=1030.496..99962.323 rows=3263552 loops=1) Buffers: shared hit=35684388 read=2307914 dirtied=13224 written=18791 -> Nested Loop (cost=66924.24..1230767.78 rows=136 width=24) (actual time=1030.391..53208.773 rows=3263552 loops=1) Buffers: shared hit=23361868 read=1558443 dirtied=12892 written=10847 -> Nested Loop (cost=66923.95..1230723.90 rows=136 width=28) (actual time=1030.379..41006.465 rows=3263552 loops=1) Buffers: shared hit=13553283 read=1558443 dirtied=12892 written=10847 -> Hash Join (cost=66923.39..352365.83 rows=448444 width=16) (actual time=1030.293..5648.210 rows=435100 loops=1) Hash Cond: (partsupp.ps_partkey = part.p_partkey) Buffers: shared hit=70886 read=140594 written=742 -> Seq Scan on partsupp (cost=0.00..250958.00 rows=8000000 width=12) (actual time=0.010..2528.992 rows=8000000 loops=1) Buffers: shared hit=68486 read=102472 written=656 -> Hash (cost=65522.00..65522.00 rows=112111 width=4) (actual time=1029.509..1029.509 rows=108775 loops=1) Buckets: 131072 Batches: 1 Memory Usage: 4849kB Buffers: shared hit=2400 read=38122 written=86 -> Seq Scan on part (cost=0.00..65522.00 rows=112111 width=4) (actual time=0.017..985.574 rows=108775 loops=1) Filter: ((p_name)::text ~~ '%khaki%'::text) Rows Removed by Filter: 1891225 Buffers: shared hit=2400 read=38122 written=86 -> Index Scan using lineitem_l_partkey_l_quantity_l_shipmode_idx on lineitem (cost=0.56..1.95 rows=1 width=24) (actual time=0.016..0.079 rows=8 loops=435100) Index Cond: (l_partkey = partsupp.ps_partkey) Filter: (partsupp.ps_suppkey = l_suppkey) Rows Removed by Filter: 23 Buffers: shared hit=13482397 read=1417849 dirtied=12892 written=10105 -> Index Scan using pk_supplier on supplier (cost=0.29..0.31 rows=1 width=8) (actual time=0.003..0.003 rows=1 loops=3263552) Index Cond: (s_suppkey = lineitem.l_suppkey) Buffers: shared hit=9808585 -> Index Only Scan using orders_o_orderkey_o_orderdate_idx on orders (cost=0.43..0.47 rows=1 width=8) (actual time=0.013..0.014 rows=1 loops=3263552) Index Cond: (o_orderkey = lineitem.l_orderkey) Heap Fetches: 3263552 Buffers: shared hit=12322520 read=749471 dirtied=332 written=7944 -> Hash (cost=1.25..1.25 rows=25 width=30) (actual time=0.022..0.022 rows=25 loops=1) Buckets: 1024 Batches: 1 Memory Usage: 10kB Buffers: shared hit=1 -> Seq Scan on nation (cost=0.00..1.25 rows=25 width=30) (actual time=0.007..0.009 rows=25 loops=1) Buffers: shared hit=1 Planning time: 32.953 ms Execution time: 120125.525 ms (47 rows) COMMIT; COMMIT