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 '%forest%' ) as profit group by nation, o_year order by nation, o_year desc; QUERY PLAN ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- GroupAggregate (cost=1245165.48..1245170.31 rows=138 width=46) (actual time=135958.848..139832.218 rows=175 loops=1) Group Key: nation.n_name, (date_part('year'::text, (orders.o_orderdate)::timestamp without time zone)) Buffers: shared hit=35632218 read=2282676 dirtied=3676 written=11524 -> Sort (cost=1245165.48..1245165.82 rows=138 width=46) (actual time=135945.423..137361.591 rows=3257970 loops=1) Sort Key: nation.n_name, (date_part('year'::text, (orders.o_orderdate)::timestamp without time zone)) Sort Method: quicksort Memory: 556457kB Buffers: shared hit=35632218 read=2282676 dirtied=3676 written=11524 -> Hash Join (cost=66951.24..1245160.57 rows=138 width=46) (actual time=961.152..118831.457 rows=3257970 loops=1) Hash Cond: (supplier.s_nationkey = nation.n_nationkey) Buffers: shared hit=35632210 read=2282676 dirtied=3676 written=11524 -> Nested Loop (cost=66949.68..1245156.42 rows=138 width=24) (actual time=961.080..115000.156 rows=3257970 loops=1) Buffers: shared hit=35632206 read=2282676 dirtied=3676 written=11524 -> Nested Loop (cost=66949.24..1245089.54 rows=138 width=24) (actual time=960.989..61799.041 rows=3257970 loops=1) Buffers: shared hit=23285362 read=1579828 dirtied=3561 written=7988 -> Nested Loop (cost=66948.95..1245045.02 rows=138 width=28) (actual time=960.970..47823.065 rows=3257970 loops=1) Buffers: shared hit=13493866 read=1579828 dirtied=3561 written=7988 -> Hash Join (cost=66948.39..352470.83 rows=456444 width=16) (actual time=960.800..7401.924 rows=434172 loops=1) Hash Cond: (partsupp.ps_partkey = part.p_partkey) Buffers: shared hit=68626 read=142854 written=663 -> Seq Scan on partsupp (cost=0.00..250958.00 rows=8000000 width=12) (actual time=0.007..3561.637 rows=8000000 loops=1) Buffers: shared hit=46707 read=124251 written=663 -> Hash (cost=65522.00..65522.00 rows=114111 width=4) (actual time=959.928..959.928 rows=108543 loops=1) Buckets: 131072 Batches: 1 Memory Usage: 4840kB Buffers: shared hit=21919 read=18603 -> Seq Scan on part (cost=0.00..65522.00 rows=114111 width=4) (actual time=0.012..912.518 rows=108543 loops=1) Filter: ((p_name)::text ~~ '%forest%'::text) Rows Removed by Filter: 1891457 Buffers: shared hit=21919 read=18603 -> 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.019..0.090 rows=8 loops=434172) Index Cond: (l_partkey = partsupp.ps_partkey) Filter: (partsupp.ps_suppkey = l_suppkey) Rows Removed by Filter: 23 Buffers: shared hit=13425240 read=1436974 dirtied=3561 written=7325 -> 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=3257970) Index Cond: (s_suppkey = lineitem.l_suppkey) Buffers: shared hit=9791496 -> Index Only Scan using orders_o_orderkey_o_orderdate_idx on orders (cost=0.43..0.47 rows=1 width=8) (actual time=0.015..0.016 rows=1 loops=3257970) Index Cond: (o_orderkey = lineitem.l_orderkey) Heap Fetches: 3257970 Buffers: shared hit=12346844 read=702848 dirtied=115 written=3536 -> Hash (cost=1.25..1.25 rows=25 width=30) (actual time=0.023..0.023 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.011 rows=25 loops=1) Buffers: shared hit=1 Planning time: 34.240 ms Execution time: 139896.720 ms (47 rows) COMMIT; COMMIT