

======================================================================
 QUERY FILE: 9 (9.sql)
 TIMESTAMP:  Mon Dec 15 19:10:08 CST 2025
======================================================================

--- [ CONFIG: dp ] ----------------------------------------
Limit  (cost=290139.62..290139.65 rows=1 width=90) (actual time=2010.061..2010.064 rows=1.00 loops=1)
  Output: nation.n_name, (EXTRACT(year FROM orders.o_orderdate)), (sum(((lineitem.l_extendedprice * ('1'::numeric - lineitem.l_discount)) - (partsupp.ps_supplycost * lineitem.l_quantity))))
  Buffers: shared hit=160523
  ->  GroupAggregate  (cost=290139.62..290143.78 rows=119 width=90) (actual time=2010.060..2010.063 rows=1.00 loops=1)
        Output: nation.n_name, (EXTRACT(year FROM orders.o_orderdate)), sum(((lineitem.l_extendedprice * ('1'::numeric - lineitem.l_discount)) - (partsupp.ps_supplycost * lineitem.l_quantity)))
        Group Key: nation.n_name, (EXTRACT(year FROM orders.o_orderdate))
        Buffers: shared hit=160523
        ->  Sort  (cost=290139.62..290139.91 rows=119 width=81) (actual time=2009.687..2009.721 rows=1244.00 loops=1)
              Output: nation.n_name, (EXTRACT(year FROM orders.o_orderdate)), lineitem.l_extendedprice, lineitem.l_discount, partsupp.ps_supplycost, lineitem.l_quantity
              Sort Key: nation.n_name, (EXTRACT(year FROM orders.o_orderdate)) DESC
              Sort Method: quicksort  Memory: 37145kB
              Buffers: shared hit=160523
              ->  Nested Loop  (cost=243336.45..290135.51 rows=119 width=81) (actual time=982.239..1867.045 rows=326472.00 loops=1)
                    Output: nation.n_name, EXTRACT(year FROM orders.o_orderdate), lineitem.l_extendedprice, lineitem.l_discount, partsupp.ps_supplycost, lineitem.l_quantity
                    Join Filter: (supplier.s_nationkey = nation.n_nationkey)
                    Rows Removed by Join Filter: 7835328
                    Buffers: shared hit=160517
                    ->  Hash Join  (cost=243336.45..290089.28 rows=119 width=31) (actual time=982.179..1417.341 rows=326472.00 loops=1)
                          Output: lineitem.l_extendedprice, lineitem.l_discount, lineitem.l_quantity, supplier.s_nationkey, partsupp.ps_supplycost, orders.o_orderdate
                          Hash Cond: (lineitem.l_suppkey = supplier.s_suppkey)
                          Buffers: shared hit=160516
                          ->  Hash Join  (cost=242888.45..289639.64 rows=119 width=35) (actual time=980.734..1369.902 rows=326472.00 loops=1)
                                Output: lineitem.l_extendedprice, lineitem.l_discount, lineitem.l_quantity, lineitem.l_suppkey, partsupp.ps_supplycost, partsupp.ps_suppkey, orders.o_orderdate
                                Hash Cond: (orders.o_orderkey = lineitem.l_orderkey)
                                Buffers: shared hit=160293
                                ->  Seq Scan on public.orders  (cost=0.00..41125.00 rows=1500000 width=8) (actual time=0.009..59.342 rows=1500000.00 loops=1)
                                      Output: orders.o_orderkey, orders.o_custkey, orders.o_orderstatus, orders.o_totalprice, orders.o_orderdate, orders.o_orderpriority, orders.o_clerk, orders.o_shippriority, orders.o_comment
                                      Buffers: shared hit=26125
                                ->  Hash  (cost=242886.96..242886.96 rows=119 width=35) (actual time=980.719..980.721 rows=326472.00 loops=1)
                                      Output: lineitem.l_extendedprice, lineitem.l_discount, lineitem.l_quantity, lineitem.l_suppkey, lineitem.l_orderkey, partsupp.ps_supplycost, partsupp.ps_suppkey
                                      Buckets: 524288 (originally 1024)  Batches: 1 (originally 1)  Memory Usage: 27027kB
                                      Buffers: shared hit=134168
                                      ->  Hash Join  (cost=209369.77..242886.96 rows=119 width=35) (actual time=718.062..945.063 rows=326472.00 loops=1)
                                            Output: lineitem.l_extendedprice, lineitem.l_discount, lineitem.l_quantity, lineitem.l_suppkey, lineitem.l_orderkey, partsupp.ps_supplycost, partsupp.ps_suppkey
                                            Hash Cond: ((partsupp.ps_suppkey = lineitem.l_suppkey) AND (partsupp.ps_partkey = lineitem.l_partkey))
                                            Buffers: shared hit=134168
                                            ->  Seq Scan on public.partsupp  (cost=0.00..25516.00 rows=800000 width=14) (actual time=0.006..35.236 rows=800000.00 loops=1)
                                                  Output: partsupp.ps_partkey, partsupp.ps_suppkey, partsupp.ps_availqty, partsupp.ps_supplycost, partsupp.ps_comment
                                                  Buffers: shared hit=17516
                                            ->  Hash  (cost=204823.53..204823.53 rows=303083 width=33) (actual time=717.732..717.733 rows=326472.00 loops=1)
                                                  Output: part.p_partkey, lineitem.l_extendedprice, lineitem.l_discount, lineitem.l_quantity, lineitem.l_suppkey, lineitem.l_partkey, lineitem.l_orderkey
                                                  Buckets: 524288  Batches: 1  Memory Usage: 25752kB
                                                  Buffers: shared hit=116652
                                                  ->  Hash Join  (cost=6723.26..204823.53 rows=303083 width=33) (actual time=23.636..643.781 rows=326472.00 loops=1)
                                                        Output: part.p_partkey, lineitem.l_extendedprice, lineitem.l_discount, lineitem.l_quantity, lineitem.l_suppkey, lineitem.l_partkey, lineitem.l_orderkey
                                                        Hash Cond: (lineitem.l_partkey = part.p_partkey)
                                                        Buffers: shared hit=116652
                                                        ->  Seq Scan on public.lineitem  (cost=0.00..172565.50 rows=6001050 width=29) (actual time=0.004..243.796 rows=6001215.00 loops=1)
                                                              Output: lineitem.l_orderkey, lineitem.l_partkey, lineitem.l_suppkey, lineitem.l_linenumber, lineitem.l_quantity, lineitem.l_extendedprice, lineitem.l_discount, lineitem.l_tax, lineitem.l_returnflag, lineitem.l_linestatus, lineitem.l_shipdate, lineitem.l_commitdate, lineitem.l_receiptdate, lineitem.l_shipinstruct, lineitem.l_shipmode, lineitem.l_comment
                                                              Buffers: shared hit=112555
                                                        ->  Hash  (cost=6597.00..6597.00 rows=10101 width=4) (actual time=23.615..23.616 rows=10869.00 loops=1)
                                                              Output: part.p_partkey
                                                              Buckets: 16384  Batches: 1  Memory Usage: 511kB
                                                              Buffers: shared hit=4097
                                                              ->  Seq Scan on public.part  (cost=0.00..6597.00 rows=10101 width=4) (actual time=0.010..22.829 rows=10869.00 loops=1)
                                                                    Output: part.p_partkey
                                                                    Filter: ((part.p_name)::text ~~ '%black%'::text)
                                                                    Rows Removed by Filter: 189131
                                                                    Buffers: shared hit=4097
                          ->  Hash  (cost=323.00..323.00 rows=10000 width=8) (actual time=1.431..1.431 rows=10000.00 loops=1)
                                Output: supplier.s_suppkey, supplier.s_nationkey
                                Buckets: 16384  Batches: 1  Memory Usage: 519kB
                                Buffers: shared hit=223
                                ->  Seq Scan on public.supplier  (cost=0.00..323.00 rows=10000 width=8) (actual time=0.011..0.917 rows=10000.00 loops=1)
                                      Output: supplier.s_suppkey, supplier.s_nationkey
                                      Buffers: shared hit=223
                    ->  Materialize  (cost=0.00..1.38 rows=25 width=30) (actual time=0.000..0.001 rows=25.00 loops=326472)
                          Output: nation.n_name, nation.n_nationkey
                          Storage: Memory  Maximum Storage: 18kB
                          Buffers: shared hit=1
                          ->  Seq Scan on public.nation  (cost=0.00..1.25 rows=25 width=30) (actual time=0.023..0.025 rows=25.00 loops=1)
                                Output: nation.n_name, nation.n_nationkey
                                Buffers: shared hit=1
Planning:
  Buffers: shared hit=220
Planning Time: 0.666 ms
Execution Time: 2014.541 ms

--- [ CONFIG: goo_rows ] ----------------------------------------
Limit  (cost=354105.85..354105.88 rows=1 width=90) (actual time=4492.786..4492.789 rows=1.00 loops=1)
  Output: nation.n_name, (EXTRACT(year FROM orders.o_orderdate)), (sum(((lineitem.l_extendedprice * ('1'::numeric - lineitem.l_discount)) - (partsupp.ps_supplycost * lineitem.l_quantity))))
  Buffers: shared hit=160523
  ->  GroupAggregate  (cost=354105.85..354109.94 rows=117 width=90) (actual time=4492.785..4492.788 rows=1.00 loops=1)
        Output: nation.n_name, (EXTRACT(year FROM orders.o_orderdate)), sum(((lineitem.l_extendedprice * ('1'::numeric - lineitem.l_discount)) - (partsupp.ps_supplycost * lineitem.l_quantity)))
        Group Key: nation.n_name, (EXTRACT(year FROM orders.o_orderdate))
        Buffers: shared hit=160523
        ->  Sort  (cost=354105.85..354106.14 rows=117 width=81) (actual time=4492.425..4492.456 rows=1244.00 loops=1)
              Output: nation.n_name, (EXTRACT(year FROM orders.o_orderdate)), lineitem.l_extendedprice, lineitem.l_discount, partsupp.ps_supplycost, lineitem.l_quantity
              Sort Key: nation.n_name, (EXTRACT(year FROM orders.o_orderdate)) DESC
              Sort Method: quicksort  Memory: 37145kB
              Buffers: shared hit=160523
              ->  Nested Loop  (cost=307305.18..354101.83 rows=117 width=81) (actual time=3502.722..4344.150 rows=326472.00 loops=1)
                    Output: nation.n_name, EXTRACT(year FROM orders.o_orderdate), lineitem.l_extendedprice, lineitem.l_discount, partsupp.ps_supplycost, lineitem.l_quantity
                    Join Filter: (supplier.s_nationkey = nation.n_nationkey)
                    Rows Removed by Join Filter: 7835328
                    Buffers: shared hit=160517
                    ->  Hash Join  (cost=307305.18..354056.35 rows=117 width=31) (actual time=3502.662..3891.485 rows=326472.00 loops=1)
                          Output: orders.o_orderdate, supplier.s_nationkey, lineitem.l_extendedprice, lineitem.l_discount, lineitem.l_quantity, partsupp.ps_supplycost
                          Hash Cond: (orders.o_orderkey = lineitem.l_orderkey)
                          Buffers: shared hit=160516
                          ->  Seq Scan on public.orders  (cost=0.00..41125.00 rows=1500000 width=8) (actual time=0.010..64.397 rows=1500000.00 loops=1)
                                Output: orders.o_orderkey, orders.o_custkey, orders.o_orderstatus, orders.o_totalprice, orders.o_orderdate, orders.o_orderpriority, orders.o_clerk, orders.o_shippriority, orders.o_comment
                                Buffers: shared hit=26125
                          ->  Hash  (cost=307303.71..307303.71 rows=117 width=31) (actual time=3502.645..3502.647 rows=326472.00 loops=1)
                                Output: supplier.s_nationkey, lineitem.l_extendedprice, lineitem.l_discount, lineitem.l_quantity, lineitem.l_orderkey, partsupp.ps_supplycost
                                Buckets: 524288 (originally 1024)  Batches: 1 (originally 1)  Memory Usage: 25427kB
                                Buffers: shared hit=134391
                                ->  Hash Join  (cost=44687.26..307303.71 rows=117 width=31) (actual time=182.724..3463.721 rows=326472.00 loops=1)
                                      Output: supplier.s_nationkey, lineitem.l_extendedprice, lineitem.l_discount, lineitem.l_quantity, lineitem.l_orderkey, partsupp.ps_supplycost
                                      Hash Cond: (lineitem.l_suppkey = supplier.s_suppkey)
                                      Buffers: shared hit=134391
                                      ->  Hash Join  (cost=44239.26..306854.11 rows=117 width=35) (actual time=181.311..3374.991 rows=326472.00 loops=1)
                                            Output: lineitem.l_extendedprice, lineitem.l_discount, lineitem.l_quantity, lineitem.l_suppkey, lineitem.l_orderkey, partsupp.ps_supplycost, partsupp.ps_suppkey
                                            Hash Cond: (partsupp.ps_partkey = part.p_partkey)
                                            Buffers: shared hit=134168
                                            ->  Hash Join  (cost=37516.00..300120.83 rows=2358 width=43) (actual time=158.501..2919.837 rows=6001215.00 loops=1)
                                                  Output: lineitem.l_extendedprice, lineitem.l_discount, lineitem.l_quantity, lineitem.l_suppkey, lineitem.l_partkey, lineitem.l_orderkey, partsupp.ps_supplycost, partsupp.ps_suppkey, partsupp.ps_partkey
                                                  Hash Cond: ((lineitem.l_suppkey = partsupp.ps_suppkey) AND (lineitem.l_partkey = partsupp.ps_partkey))
                                                  Buffers: shared hit=130071
                                                  ->  Seq Scan on public.lineitem  (cost=0.00..172565.50 rows=6001050 width=29) (actual time=0.009..265.881 rows=6001215.00 loops=1)
                                                        Output: lineitem.l_orderkey, lineitem.l_partkey, lineitem.l_suppkey, lineitem.l_linenumber, lineitem.l_quantity, lineitem.l_extendedprice, lineitem.l_discount, lineitem.l_tax, lineitem.l_returnflag, lineitem.l_linestatus, lineitem.l_shipdate, lineitem.l_commitdate, lineitem.l_receiptdate, lineitem.l_shipinstruct, lineitem.l_shipmode, lineitem.l_comment
                                                        Buffers: shared hit=112555
                                                  ->  Hash  (cost=25516.00..25516.00 rows=800000 width=14) (actual time=157.860..157.861 rows=800000.00 loops=1)
                                                        Output: partsupp.ps_supplycost, partsupp.ps_suppkey, partsupp.ps_partkey
                                                        Buckets: 1048576  Batches: 1  Memory Usage: 45692kB
                                                        Buffers: shared hit=17516
                                                        ->  Seq Scan on public.partsupp  (cost=0.00..25516.00 rows=800000 width=14) (actual time=0.007..58.822 rows=800000.00 loops=1)
                                                              Output: partsupp.ps_supplycost, partsupp.ps_suppkey, partsupp.ps_partkey
                                                              Buffers: shared hit=17516
                                            ->  Hash  (cost=6597.00..6597.00 rows=10101 width=4) (actual time=22.794..22.794 rows=10869.00 loops=1)
                                                  Output: part.p_partkey
                                                  Buckets: 16384  Batches: 1  Memory Usage: 511kB
                                                  Buffers: shared hit=4097
                                                  ->  Seq Scan on public.part  (cost=0.00..6597.00 rows=10101 width=4) (actual time=0.009..22.104 rows=10869.00 loops=1)
                                                        Output: part.p_partkey
                                                        Filter: ((part.p_name)::text ~~ '%black%'::text)
                                                        Rows Removed by Filter: 189131
                                                        Buffers: shared hit=4097
                                      ->  Hash  (cost=323.00..323.00 rows=10000 width=8) (actual time=1.399..1.400 rows=10000.00 loops=1)
                                            Output: supplier.s_suppkey, supplier.s_nationkey
                                            Buckets: 16384  Batches: 1  Memory Usage: 519kB
                                            Buffers: shared hit=223
                                            ->  Seq Scan on public.supplier  (cost=0.00..323.00 rows=10000 width=8) (actual time=0.011..0.891 rows=10000.00 loops=1)
                                                  Output: supplier.s_suppkey, supplier.s_nationkey
                                                  Buffers: shared hit=223
                    ->  Materialize  (cost=0.00..1.38 rows=25 width=30) (actual time=0.000..0.001 rows=25.00 loops=326472)
                          Output: nation.n_name, nation.n_nationkey
                          Storage: Memory  Maximum Storage: 18kB
                          Buffers: shared hit=1
                          ->  Seq Scan on public.nation  (cost=0.00..1.25 rows=25 width=30) (actual time=0.024..0.025 rows=25.00 loops=1)
                                Output: nation.n_name, nation.n_nationkey
                                Buffers: shared hit=1
Planning:
  Buffers: shared hit=220
Planning Time: 0.499 ms
Execution Time: 4498.998 ms

--- [ CONFIG: goo_selectivity ] ----------------------------------------
Limit  (cost=354156.27..354156.30 rows=1 width=90) (actual time=5511.408..5511.412 rows=1.00 loops=1)
  Output: nation.n_name, (EXTRACT(year FROM orders.o_orderdate)), (sum(((lineitem.l_extendedprice * ('1'::numeric - lineitem.l_discount)) - (partsupp.ps_supplycost * lineitem.l_quantity))))
  Buffers: shared hit=160523
  ->  GroupAggregate  (cost=354156.27..354160.36 rows=117 width=90) (actual time=5511.407..5511.411 rows=1.00 loops=1)
        Output: nation.n_name, (EXTRACT(year FROM orders.o_orderdate)), sum(((lineitem.l_extendedprice * ('1'::numeric - lineitem.l_discount)) - (partsupp.ps_supplycost * lineitem.l_quantity)))
        Group Key: nation.n_name, (EXTRACT(year FROM orders.o_orderdate))
        Buffers: shared hit=160523
        ->  Sort  (cost=354156.27..354156.56 rows=117 width=81) (actual time=5510.907..5511.064 rows=1244.00 loops=1)
              Output: nation.n_name, (EXTRACT(year FROM orders.o_orderdate)), lineitem.l_extendedprice, lineitem.l_discount, partsupp.ps_supplycost, lineitem.l_quantity
              Sort Key: nation.n_name, (EXTRACT(year FROM orders.o_orderdate)) DESC
              Sort Method: quicksort  Memory: 37145kB
              Buffers: shared hit=160523
              ->  Nested Loop  (cost=307321.57..354152.25 rows=117 width=81) (actual time=3637.721..5350.466 rows=326472.00 loops=1)
                    Output: nation.n_name, EXTRACT(year FROM orders.o_orderdate), lineitem.l_extendedprice, lineitem.l_discount, partsupp.ps_supplycost, lineitem.l_quantity
                    Join Filter: (supplier.s_nationkey = nation.n_nationkey)
                    Rows Removed by Join Filter: 7835328
                    Buffers: shared hit=160517
                    ->  Hash Join  (cost=307321.57..354106.77 rows=117 width=31) (actual time=3637.673..4896.114 rows=326472.00 loops=1)
                          Output: supplier.s_nationkey, orders.o_orderdate, lineitem.l_extendedprice, lineitem.l_discount, lineitem.l_quantity, partsupp.ps_supplycost
                          Hash Cond: (lineitem.l_suppkey = supplier.s_suppkey)
                          Buffers: shared hit=160516
                          ->  Hash Join  (cost=306873.57..353657.16 rows=117 width=35) (actual time=3636.026..4837.149 rows=326472.00 loops=1)
                                Output: orders.o_orderdate, lineitem.l_extendedprice, lineitem.l_discount, lineitem.l_quantity, lineitem.l_suppkey, partsupp.ps_supplycost, partsupp.ps_suppkey
                                Hash Cond: (partsupp.ps_partkey = part.p_partkey)
                                Buffers: shared hit=160293
                                ->  Hash Join  (cost=300150.30..346923.89 rows=2358 width=43) (actual time=3610.654..4470.420 rows=6001215.00 loops=1)
                                      Output: orders.o_orderdate, lineitem.l_extendedprice, lineitem.l_discount, lineitem.l_quantity, lineitem.l_suppkey, lineitem.l_partkey, partsupp.ps_supplycost, partsupp.ps_suppkey, partsupp.ps_partkey
                                      Hash Cond: (orders.o_orderkey = lineitem.l_orderkey)
                                      Buffers: shared hit=156196
                                      ->  Seq Scan on public.orders  (cost=0.00..41125.00 rows=1500000 width=8) (actual time=0.022..65.568 rows=1500000.00 loops=1)
                                            Output: orders.o_orderkey, orders.o_custkey, orders.o_orderstatus, orders.o_totalprice, orders.o_orderdate, orders.o_orderpriority, orders.o_clerk, orders.o_shippriority, orders.o_comment
                                            Buffers: shared hit=26125
                                      ->  Hash  (cost=300120.83..300120.83 rows=2358 width=43) (actual time=3610.611..3610.613 rows=6001215.00 loops=1)
                                            Output: lineitem.l_extendedprice, lineitem.l_discount, lineitem.l_quantity, lineitem.l_suppkey, lineitem.l_partkey, lineitem.l_orderkey, partsupp.ps_supplycost, partsupp.ps_suppkey, partsupp.ps_partkey
                                            Buckets: 8388608 (originally 4096)  Batches: 1 (originally 1)  Memory Usage: 533935kB
                                            Buffers: shared hit=130071
                                            ->  Hash Join  (cost=37516.00..300120.83 rows=2358 width=43) (actual time=186.033..2906.686 rows=6001215.00 loops=1)
                                                  Output: lineitem.l_extendedprice, lineitem.l_discount, lineitem.l_quantity, lineitem.l_suppkey, lineitem.l_partkey, lineitem.l_orderkey, partsupp.ps_supplycost, partsupp.ps_suppkey, partsupp.ps_partkey
                                                  Hash Cond: ((lineitem.l_suppkey = partsupp.ps_suppkey) AND (lineitem.l_partkey = partsupp.ps_partkey))
                                                  Buffers: shared hit=130071
                                                  ->  Seq Scan on public.lineitem  (cost=0.00..172565.50 rows=6001050 width=29) (actual time=0.005..256.466 rows=6001215.00 loops=1)
                                                        Output: lineitem.l_orderkey, lineitem.l_partkey, lineitem.l_suppkey, lineitem.l_linenumber, lineitem.l_quantity, lineitem.l_extendedprice, lineitem.l_discount, lineitem.l_tax, lineitem.l_returnflag, lineitem.l_linestatus, lineitem.l_shipdate, lineitem.l_commitdate, lineitem.l_receiptdate, lineitem.l_shipinstruct, lineitem.l_shipmode, lineitem.l_comment
                                                        Buffers: shared hit=112555
                                                  ->  Hash  (cost=25516.00..25516.00 rows=800000 width=14) (actual time=185.307..185.308 rows=800000.00 loops=1)
                                                        Output: partsupp.ps_supplycost, partsupp.ps_suppkey, partsupp.ps_partkey
                                                        Buckets: 1048576  Batches: 1  Memory Usage: 45692kB
                                                        Buffers: shared hit=17516
                                                        ->  Seq Scan on public.partsupp  (cost=0.00..25516.00 rows=800000 width=14) (actual time=0.008..64.039 rows=800000.00 loops=1)
                                                              Output: partsupp.ps_supplycost, partsupp.ps_suppkey, partsupp.ps_partkey
                                                              Buffers: shared hit=17516
                                ->  Hash  (cost=6597.00..6597.00 rows=10101 width=4) (actual time=25.350..25.350 rows=10869.00 loops=1)
                                      Output: part.p_partkey
                                      Buckets: 16384  Batches: 1  Memory Usage: 511kB
                                      Buffers: shared hit=4097
                                      ->  Seq Scan on public.part  (cost=0.00..6597.00 rows=10101 width=4) (actual time=0.019..23.696 rows=10869.00 loops=1)
                                            Output: part.p_partkey
                                            Filter: ((part.p_name)::text ~~ '%black%'::text)
                                            Rows Removed by Filter: 189131
                                            Buffers: shared hit=4097
                          ->  Hash  (cost=323.00..323.00 rows=10000 width=8) (actual time=1.630..1.631 rows=10000.00 loops=1)
                                Output: supplier.s_suppkey, supplier.s_nationkey
                                Buckets: 16384  Batches: 1  Memory Usage: 519kB
                                Buffers: shared hit=223
                                ->  Seq Scan on public.supplier  (cost=0.00..323.00 rows=10000 width=8) (actual time=0.017..0.981 rows=10000.00 loops=1)
                                      Output: supplier.s_suppkey, supplier.s_nationkey
                                      Buffers: shared hit=223
                    ->  Materialize  (cost=0.00..1.38 rows=25 width=30) (actual time=0.000..0.001 rows=25.00 loops=326472)
                          Output: nation.n_name, nation.n_nationkey
                          Storage: Memory  Maximum Storage: 18kB
                          Buffers: shared hit=1
                          ->  Seq Scan on public.nation  (cost=0.00..1.25 rows=25 width=30) (actual time=0.022..0.023 rows=25.00 loops=1)
                                Output: nation.n_name, nation.n_nationkey
                                Buffers: shared hit=1
Planning:
  Buffers: shared hit=220
Planning Time: 1.551 ms
Execution Time: 5549.840 ms

--- [ CONFIG: goo_result_size ] ----------------------------------------
Limit  (cost=354105.85..354105.88 rows=1 width=90) (actual time=4909.353..4909.357 rows=1.00 loops=1)
  Output: nation.n_name, (EXTRACT(year FROM orders.o_orderdate)), (sum(((lineitem.l_extendedprice * ('1'::numeric - lineitem.l_discount)) - (partsupp.ps_supplycost * lineitem.l_quantity))))
  Buffers: shared hit=160523
  ->  GroupAggregate  (cost=354105.85..354109.94 rows=117 width=90) (actual time=4909.352..4909.356 rows=1.00 loops=1)
        Output: nation.n_name, (EXTRACT(year FROM orders.o_orderdate)), sum(((lineitem.l_extendedprice * ('1'::numeric - lineitem.l_discount)) - (partsupp.ps_supplycost * lineitem.l_quantity)))
        Group Key: nation.n_name, (EXTRACT(year FROM orders.o_orderdate))
        Buffers: shared hit=160523
        ->  Sort  (cost=354105.85..354106.14 rows=117 width=81) (actual time=4908.972..4909.009 rows=1244.00 loops=1)
              Output: nation.n_name, (EXTRACT(year FROM orders.o_orderdate)), lineitem.l_extendedprice, lineitem.l_discount, partsupp.ps_supplycost, lineitem.l_quantity
              Sort Key: nation.n_name, (EXTRACT(year FROM orders.o_orderdate)) DESC
              Sort Method: quicksort  Memory: 37145kB
              Buffers: shared hit=160523
              ->  Nested Loop  (cost=307305.18..354101.83 rows=117 width=81) (actual time=3846.840..4750.986 rows=326472.00 loops=1)
                    Output: nation.n_name, EXTRACT(year FROM orders.o_orderdate), lineitem.l_extendedprice, lineitem.l_discount, partsupp.ps_supplycost, lineitem.l_quantity
                    Join Filter: (supplier.s_nationkey = nation.n_nationkey)
                    Rows Removed by Join Filter: 7835328
                    Buffers: shared hit=160517
                    ->  Hash Join  (cost=307305.18..354056.35 rows=117 width=31) (actual time=3846.781..4277.156 rows=326472.00 loops=1)
                          Output: orders.o_orderdate, supplier.s_nationkey, lineitem.l_extendedprice, lineitem.l_discount, lineitem.l_quantity, partsupp.ps_supplycost
                          Hash Cond: (orders.o_orderkey = lineitem.l_orderkey)
                          Buffers: shared hit=160516
                          ->  Seq Scan on public.orders  (cost=0.00..41125.00 rows=1500000 width=8) (actual time=0.015..68.133 rows=1500000.00 loops=1)
                                Output: orders.o_orderkey, orders.o_custkey, orders.o_orderstatus, orders.o_totalprice, orders.o_orderdate, orders.o_orderpriority, orders.o_clerk, orders.o_shippriority, orders.o_comment
                                Buffers: shared hit=26125
                          ->  Hash  (cost=307303.71..307303.71 rows=117 width=31) (actual time=3846.757..3846.760 rows=326472.00 loops=1)
                                Output: supplier.s_nationkey, lineitem.l_extendedprice, lineitem.l_discount, lineitem.l_quantity, lineitem.l_orderkey, partsupp.ps_supplycost
                                Buckets: 524288 (originally 1024)  Batches: 1 (originally 1)  Memory Usage: 25427kB
                                Buffers: shared hit=134391
                                ->  Hash Join  (cost=44687.26..307303.71 rows=117 width=31) (actual time=207.205..3805.030 rows=326472.00 loops=1)
                                      Output: supplier.s_nationkey, lineitem.l_extendedprice, lineitem.l_discount, lineitem.l_quantity, lineitem.l_orderkey, partsupp.ps_supplycost
                                      Hash Cond: (lineitem.l_suppkey = supplier.s_suppkey)
                                      Buffers: shared hit=134391
                                      ->  Hash Join  (cost=44239.26..306854.11 rows=117 width=35) (actual time=205.750..3700.689 rows=326472.00 loops=1)
                                            Output: lineitem.l_extendedprice, lineitem.l_discount, lineitem.l_quantity, lineitem.l_suppkey, lineitem.l_orderkey, partsupp.ps_supplycost, partsupp.ps_suppkey
                                            Hash Cond: (partsupp.ps_partkey = part.p_partkey)
                                            Buffers: shared hit=134168
                                            ->  Hash Join  (cost=37516.00..300120.83 rows=2358 width=43) (actual time=181.102..3161.422 rows=6001215.00 loops=1)
                                                  Output: lineitem.l_extendedprice, lineitem.l_discount, lineitem.l_quantity, lineitem.l_suppkey, lineitem.l_partkey, lineitem.l_orderkey, partsupp.ps_supplycost, partsupp.ps_suppkey, partsupp.ps_partkey
                                                  Hash Cond: ((lineitem.l_suppkey = partsupp.ps_suppkey) AND (lineitem.l_partkey = partsupp.ps_partkey))
                                                  Buffers: shared hit=130071
                                                  ->  Seq Scan on public.lineitem  (cost=0.00..172565.50 rows=6001050 width=29) (actual time=0.014..286.757 rows=6001215.00 loops=1)
                                                        Output: lineitem.l_orderkey, lineitem.l_partkey, lineitem.l_suppkey, lineitem.l_linenumber, lineitem.l_quantity, lineitem.l_extendedprice, lineitem.l_discount, lineitem.l_tax, lineitem.l_returnflag, lineitem.l_linestatus, lineitem.l_shipdate, lineitem.l_commitdate, lineitem.l_receiptdate, lineitem.l_shipinstruct, lineitem.l_shipmode, lineitem.l_comment
                                                        Buffers: shared hit=112555
                                                  ->  Hash  (cost=25516.00..25516.00 rows=800000 width=14) (actual time=180.413..180.413 rows=800000.00 loops=1)
                                                        Output: partsupp.ps_supplycost, partsupp.ps_suppkey, partsupp.ps_partkey
                                                        Buckets: 1048576  Batches: 1  Memory Usage: 45692kB
                                                        Buffers: shared hit=17516
                                                        ->  Seq Scan on public.partsupp  (cost=0.00..25516.00 rows=800000 width=14) (actual time=0.008..60.832 rows=800000.00 loops=1)
                                                              Output: partsupp.ps_supplycost, partsupp.ps_suppkey, partsupp.ps_partkey
                                                              Buffers: shared hit=17516
                                            ->  Hash  (cost=6597.00..6597.00 rows=10101 width=4) (actual time=24.632..24.632 rows=10869.00 loops=1)
                                                  Output: part.p_partkey
                                                  Buckets: 16384  Batches: 1  Memory Usage: 511kB
                                                  Buffers: shared hit=4097
                                                  ->  Seq Scan on public.part  (cost=0.00..6597.00 rows=10101 width=4) (actual time=0.013..23.626 rows=10869.00 loops=1)
                                                        Output: part.p_partkey
                                                        Filter: ((part.p_name)::text ~~ '%black%'::text)
                                                        Rows Removed by Filter: 189131
                                                        Buffers: shared hit=4097
                                      ->  Hash  (cost=323.00..323.00 rows=10000 width=8) (actual time=1.440..1.440 rows=10000.00 loops=1)
                                            Output: supplier.s_suppkey, supplier.s_nationkey
                                            Buckets: 16384  Batches: 1  Memory Usage: 519kB
                                            Buffers: shared hit=223
                                            ->  Seq Scan on public.supplier  (cost=0.00..323.00 rows=10000 width=8) (actual time=0.012..0.925 rows=10000.00 loops=1)
                                                  Output: supplier.s_suppkey, supplier.s_nationkey
                                                  Buffers: shared hit=223
                    ->  Materialize  (cost=0.00..1.38 rows=25 width=30) (actual time=0.000..0.001 rows=25.00 loops=326472)
                          Output: nation.n_name, nation.n_nationkey
                          Storage: Memory  Maximum Storage: 18kB
                          Buffers: shared hit=1
                          ->  Seq Scan on public.nation  (cost=0.00..1.25 rows=25 width=30) (actual time=0.026..0.027 rows=25.00 loops=1)
                                Output: nation.n_name, nation.n_nationkey
                                Buffers: shared hit=1
Planning:
  Buffers: shared hit=220
Planning Time: 0.561 ms
Execution Time: 4912.309 ms

--- [ CONFIG: goo_cost ] ----------------------------------------
Limit  (cost=301696.34..301696.37 rows=1 width=90) (actual time=1593.704..1593.708 rows=1.00 loops=1)
  Output: nation.n_name, (EXTRACT(year FROM orders.o_orderdate)), (sum(((lineitem.l_extendedprice * ('1'::numeric - lineitem.l_discount)) - (partsupp.ps_supplycost * lineitem.l_quantity))))
  Buffers: shared hit=160523
  ->  GroupAggregate  (cost=301696.34..301700.43 rows=117 width=90) (actual time=1593.704..1593.707 rows=1.00 loops=1)
        Output: nation.n_name, (EXTRACT(year FROM orders.o_orderdate)), sum(((lineitem.l_extendedprice * ('1'::numeric - lineitem.l_discount)) - (partsupp.ps_supplycost * lineitem.l_quantity)))
        Group Key: nation.n_name, (EXTRACT(year FROM orders.o_orderdate))
        Buffers: shared hit=160523
        ->  Sort  (cost=301696.34..301696.63 rows=117 width=81) (actual time=1593.344..1593.373 rows=1244.00 loops=1)
              Output: nation.n_name, (EXTRACT(year FROM orders.o_orderdate)), lineitem.l_extendedprice, lineitem.l_discount, partsupp.ps_supplycost, lineitem.l_quantity
              Sort Key: nation.n_name, (EXTRACT(year FROM orders.o_orderdate)) DESC
              Sort Method: quicksort  Memory: 37145kB
              Buffers: shared hit=160523
              ->  Hash Join  (cost=254940.86..301692.32 rows=117 width=81) (actual time=1112.849..1441.610 rows=326472.00 loops=1)
                    Output: nation.n_name, EXTRACT(year FROM orders.o_orderdate), lineitem.l_extendedprice, lineitem.l_discount, partsupp.ps_supplycost, lineitem.l_quantity
                    Hash Cond: (orders.o_orderkey = lineitem.l_orderkey)
                    Buffers: shared hit=160517
                    ->  Seq Scan on public.orders  (cost=0.00..41125.00 rows=1500000 width=8) (actual time=0.007..57.128 rows=1500000.00 loops=1)
                          Output: orders.o_orderkey, orders.o_custkey, orders.o_orderstatus, orders.o_totalprice, orders.o_orderdate, orders.o_orderpriority, orders.o_clerk, orders.o_shippriority, orders.o_comment
                          Buffers: shared hit=26125
                    ->  Hash  (cost=254939.40..254939.40 rows=117 width=53) (actual time=1112.826..1112.829 rows=326472.00 loops=1)
                          Output: lineitem.l_extendedprice, lineitem.l_discount, lineitem.l_quantity, lineitem.l_orderkey, nation.n_name, partsupp.ps_supplycost
                          Buckets: 524288 (originally 1024)  Batches: 1 (originally 1)  Memory Usage: 32441kB
                          Buffers: shared hit=134392
                          ->  Hash Join  (cost=37364.85..254939.40 rows=117 width=53) (actual time=127.361..1075.572 rows=326472.00 loops=1)
                                Output: lineitem.l_extendedprice, lineitem.l_discount, lineitem.l_quantity, lineitem.l_orderkey, nation.n_name, partsupp.ps_supplycost
                                Hash Cond: ((lineitem.l_suppkey = supplier.s_suppkey) AND (lineitem.l_partkey = partsupp.ps_partkey))
                                Buffers: shared hit=134392
                                ->  Seq Scan on public.lineitem  (cost=0.00..172565.50 rows=6001050 width=29) (actual time=0.004..251.021 rows=6001215.00 loops=1)
                                      Output: lineitem.l_orderkey, lineitem.l_partkey, lineitem.l_suppkey, lineitem.l_linenumber, lineitem.l_quantity, lineitem.l_extendedprice, lineitem.l_discount, lineitem.l_tax, lineitem.l_returnflag, lineitem.l_linestatus, lineitem.l_shipdate, lineitem.l_commitdate, lineitem.l_receiptdate, lineitem.l_shipinstruct, lineitem.l_shipmode, lineitem.l_comment
                                      Buffers: shared hit=112555
                                ->  Hash  (cost=36769.59..36769.59 rows=39684 width=48) (actual time=127.286..127.288 rows=43476.00 loops=1)
                                      Output: supplier.s_suppkey, nation.n_name, part.p_partkey, partsupp.ps_supplycost, partsupp.ps_suppkey, partsupp.ps_partkey
                                      Buckets: 65536  Batches: 1  Memory Usage: 4079kB
                                      Buffers: shared hit=21837
                                      ->  Hash Join  (cost=7310.32..36769.59 rows=39684 width=48) (actual time=25.180..120.302 rows=43476.00 loops=1)
                                            Output: supplier.s_suppkey, nation.n_name, part.p_partkey, partsupp.ps_supplycost, partsupp.ps_suppkey, partsupp.ps_partkey
                                            Hash Cond: (partsupp.ps_suppkey = supplier.s_suppkey)
                                            Buffers: shared hit=21837
                                            ->  Hash Join  (cost=6723.26..35636.66 rows=39740 width=18) (actual time=22.994..111.291 rows=43476.00 loops=1)
                                                  Output: part.p_partkey, partsupp.ps_supplycost, partsupp.ps_suppkey, partsupp.ps_partkey
                                                  Hash Cond: (partsupp.ps_partkey = part.p_partkey)
                                                  Buffers: shared hit=21613
                                                  ->  Seq Scan on public.partsupp  (cost=0.00..25516.00 rows=800000 width=14) (actual time=0.004..35.968 rows=800000.00 loops=1)
                                                        Output: partsupp.ps_partkey, partsupp.ps_suppkey, partsupp.ps_availqty, partsupp.ps_supplycost, partsupp.ps_comment
                                                        Buffers: shared hit=17516
                                                  ->  Hash  (cost=6597.00..6597.00 rows=10101 width=4) (actual time=22.968..22.969 rows=10869.00 loops=1)
                                                        Output: part.p_partkey
                                                        Buckets: 16384  Batches: 1  Memory Usage: 511kB
                                                        Buffers: shared hit=4097
                                                        ->  Seq Scan on public.part  (cost=0.00..6597.00 rows=10101 width=4) (actual time=0.011..22.235 rows=10869.00 loops=1)
                                                              Output: part.p_partkey
                                                              Filter: ((part.p_name)::text ~~ '%black%'::text)
                                                              Rows Removed by Filter: 189131
                                                              Buffers: shared hit=4097
                                            ->  Hash  (cost=462.06..462.06 rows=10000 width=30) (actual time=2.169..2.170 rows=10000.00 loops=1)
                                                  Output: supplier.s_suppkey, nation.n_name
                                                  Buckets: 16384  Batches: 1  Memory Usage: 734kB
                                                  Buffers: shared hit=224
                                                  ->  Hash Join  (cost=1.56..462.06 rows=10000 width=30) (actual time=0.025..1.513 rows=10000.00 loops=1)
                                                        Output: supplier.s_suppkey, nation.n_name
                                                        Hash Cond: (supplier.s_nationkey = nation.n_nationkey)
                                                        Buffers: shared hit=224
                                                        ->  Seq Scan on public.supplier  (cost=0.00..323.00 rows=10000 width=8) (actual time=0.009..0.585 rows=10000.00 loops=1)
                                                              Output: supplier.s_suppkey, supplier.s_name, supplier.s_address, supplier.s_nationkey, supplier.s_phone, supplier.s_acctbal, supplier.s_comment
                                                              Buffers: shared hit=223
                                                        ->  Hash  (cost=1.25..1.25 rows=25 width=30) (actual time=0.009..0.010 rows=25.00 loops=1)
                                                              Output: nation.n_name, nation.n_nationkey
                                                              Buckets: 1024  Batches: 1  Memory Usage: 10kB
                                                              Buffers: shared hit=1
                                                              ->  Seq Scan on public.nation  (cost=0.00..1.25 rows=25 width=30) (actual time=0.004..0.005 rows=25.00 loops=1)
                                                                    Output: nation.n_name, nation.n_nationkey
                                                                    Buffers: shared hit=1
Planning:
  Buffers: shared hit=220
Planning Time: 0.459 ms
Execution Time: 1596.124 ms

--- [ CONFIG: geqo ] ----------------------------------------
Limit  (cost=290139.62..290139.65 rows=1 width=90) (actual time=2042.020..2042.025 rows=1.00 loops=1)
  Output: nation.n_name, (EXTRACT(year FROM orders.o_orderdate)), (sum(((lineitem.l_extendedprice * ('1'::numeric - lineitem.l_discount)) - (partsupp.ps_supplycost * lineitem.l_quantity))))
  Buffers: shared hit=160523
  ->  GroupAggregate  (cost=290139.62..290143.78 rows=119 width=90) (actual time=2042.019..2042.024 rows=1.00 loops=1)
        Output: nation.n_name, (EXTRACT(year FROM orders.o_orderdate)), sum(((lineitem.l_extendedprice * ('1'::numeric - lineitem.l_discount)) - (partsupp.ps_supplycost * lineitem.l_quantity)))
        Group Key: nation.n_name, (EXTRACT(year FROM orders.o_orderdate))
        Buffers: shared hit=160523
        ->  Sort  (cost=290139.62..290139.91 rows=119 width=81) (actual time=2041.658..2041.689 rows=1244.00 loops=1)
              Output: nation.n_name, (EXTRACT(year FROM orders.o_orderdate)), lineitem.l_extendedprice, lineitem.l_discount, partsupp.ps_supplycost, lineitem.l_quantity
              Sort Key: nation.n_name, (EXTRACT(year FROM orders.o_orderdate)) DESC
              Sort Method: quicksort  Memory: 37145kB
              Buffers: shared hit=160523
              ->  Nested Loop  (cost=243336.45..290135.51 rows=119 width=81) (actual time=979.192..1896.475 rows=326472.00 loops=1)
                    Output: nation.n_name, EXTRACT(year FROM orders.o_orderdate), lineitem.l_extendedprice, lineitem.l_discount, partsupp.ps_supplycost, lineitem.l_quantity
                    Join Filter: (nation.n_nationkey = supplier.s_nationkey)
                    Rows Removed by Join Filter: 7835328
                    Buffers: shared hit=160517
                    ->  Hash Join  (cost=243336.45..290089.28 rows=119 width=31) (actual time=979.122..1447.789 rows=326472.00 loops=1)
                          Output: lineitem.l_extendedprice, lineitem.l_discount, lineitem.l_quantity, partsupp.ps_supplycost, orders.o_orderdate, supplier.s_nationkey
                          Hash Cond: (lineitem.l_suppkey = supplier.s_suppkey)
                          Buffers: shared hit=160516
                          ->  Hash Join  (cost=242888.45..289639.64 rows=119 width=35) (actual time=977.725..1400.423 rows=326472.00 loops=1)
                                Output: lineitem.l_extendedprice, lineitem.l_discount, lineitem.l_quantity, lineitem.l_suppkey, partsupp.ps_supplycost, partsupp.ps_suppkey, orders.o_orderdate
                                Hash Cond: (orders.o_orderkey = lineitem.l_orderkey)
                                Buffers: shared hit=160293
                                ->  Seq Scan on public.orders  (cost=0.00..41125.00 rows=1500000 width=8) (actual time=0.006..61.166 rows=1500000.00 loops=1)
                                      Output: orders.o_orderkey, orders.o_custkey, orders.o_orderstatus, orders.o_totalprice, orders.o_orderdate, orders.o_orderpriority, orders.o_clerk, orders.o_shippriority, orders.o_comment
                                      Buffers: shared hit=26125
                                ->  Hash  (cost=242886.96..242886.96 rows=119 width=35) (actual time=977.711..977.713 rows=326472.00 loops=1)
                                      Output: lineitem.l_extendedprice, lineitem.l_discount, lineitem.l_quantity, lineitem.l_suppkey, lineitem.l_orderkey, partsupp.ps_supplycost, partsupp.ps_suppkey
                                      Buckets: 524288 (originally 1024)  Batches: 1 (originally 1)  Memory Usage: 27027kB
                                      Buffers: shared hit=134168
                                      ->  Hash Join  (cost=209369.77..242886.96 rows=119 width=35) (actual time=710.918..942.537 rows=326472.00 loops=1)
                                            Output: lineitem.l_extendedprice, lineitem.l_discount, lineitem.l_quantity, lineitem.l_suppkey, lineitem.l_orderkey, partsupp.ps_supplycost, partsupp.ps_suppkey
                                            Hash Cond: ((partsupp.ps_suppkey = lineitem.l_suppkey) AND (partsupp.ps_partkey = lineitem.l_partkey))
                                            Buffers: shared hit=134168
                                            ->  Seq Scan on public.partsupp  (cost=0.00..25516.00 rows=800000 width=14) (actual time=0.005..35.245 rows=800000.00 loops=1)
                                                  Output: partsupp.ps_partkey, partsupp.ps_suppkey, partsupp.ps_availqty, partsupp.ps_supplycost, partsupp.ps_comment
                                                  Buffers: shared hit=17516
                                            ->  Hash  (cost=204823.53..204823.53 rows=303083 width=33) (actual time=710.596..710.598 rows=326472.00 loops=1)
                                                  Output: part.p_partkey, lineitem.l_extendedprice, lineitem.l_discount, lineitem.l_quantity, lineitem.l_suppkey, lineitem.l_partkey, lineitem.l_orderkey
                                                  Buckets: 524288  Batches: 1  Memory Usage: 25752kB
                                                  Buffers: shared hit=116652
                                                  ->  Hash Join  (cost=6723.26..204823.53 rows=303083 width=33) (actual time=23.658..639.244 rows=326472.00 loops=1)
                                                        Output: part.p_partkey, lineitem.l_extendedprice, lineitem.l_discount, lineitem.l_quantity, lineitem.l_suppkey, lineitem.l_partkey, lineitem.l_orderkey
                                                        Hash Cond: (lineitem.l_partkey = part.p_partkey)
                                                        Buffers: shared hit=116652
                                                        ->  Seq Scan on public.lineitem  (cost=0.00..172565.50 rows=6001050 width=29) (actual time=0.004..243.547 rows=6001215.00 loops=1)
                                                              Output: lineitem.l_orderkey, lineitem.l_partkey, lineitem.l_suppkey, lineitem.l_linenumber, lineitem.l_quantity, lineitem.l_extendedprice, lineitem.l_discount, lineitem.l_tax, lineitem.l_returnflag, lineitem.l_linestatus, lineitem.l_shipdate, lineitem.l_commitdate, lineitem.l_receiptdate, lineitem.l_shipinstruct, lineitem.l_shipmode, lineitem.l_comment
                                                              Buffers: shared hit=112555
                                                        ->  Hash  (cost=6597.00..6597.00 rows=10101 width=4) (actual time=23.638..23.638 rows=10869.00 loops=1)
                                                              Output: part.p_partkey
                                                              Buckets: 16384  Batches: 1  Memory Usage: 511kB
                                                              Buffers: shared hit=4097
                                                              ->  Seq Scan on public.part  (cost=0.00..6597.00 rows=10101 width=4) (actual time=0.011..22.712 rows=10869.00 loops=1)
                                                                    Output: part.p_partkey
                                                                    Filter: ((part.p_name)::text ~~ '%black%'::text)
                                                                    Rows Removed by Filter: 189131
                                                                    Buffers: shared hit=4097
                          ->  Hash  (cost=323.00..323.00 rows=10000 width=8) (actual time=1.382..1.382 rows=10000.00 loops=1)
                                Output: supplier.s_suppkey, supplier.s_nationkey
                                Buckets: 16384  Batches: 1  Memory Usage: 519kB
                                Buffers: shared hit=223
                                ->  Seq Scan on public.supplier  (cost=0.00..323.00 rows=10000 width=8) (actual time=0.011..0.877 rows=10000.00 loops=1)
                                      Output: supplier.s_suppkey, supplier.s_nationkey
                                      Buffers: shared hit=223
                    ->  Materialize  (cost=0.00..1.38 rows=25 width=30) (actual time=0.000..0.001 rows=25.00 loops=326472)
                          Output: nation.n_name, nation.n_nationkey
                          Storage: Memory  Maximum Storage: 18kB
                          Buffers: shared hit=1
                          ->  Seq Scan on public.nation  (cost=0.00..1.25 rows=25 width=30) (actual time=0.027..0.028 rows=25.00 loops=1)
                                Output: nation.n_name, nation.n_nationkey
                                Buffers: shared hit=1
Planning:
  Buffers: shared hit=220
Planning Time: 3.074 ms
Execution Time: 2045.982 ms
