

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

--- [ CONFIG: dp ] ----------------------------------------
Limit  (cost=213621.54..213621.55 rows=1 width=32) (actual time=528.475..528.478 rows=1.00 loops=1)
  Output: (((100.00 * sum(CASE WHEN ((part.p_type)::text ~~ 'PROMO%'::text) THEN (lineitem.l_extendedprice * ('1'::numeric - lineitem.l_discount)) ELSE '0'::numeric END)) / sum((lineitem.l_extendedprice * ('1'::numeric - lineitem.l_discount)))))
  Buffers: shared hit=112555 read=4097
  ->  Aggregate  (cost=213621.54..213621.55 rows=1 width=32) (actual time=528.474..528.476 rows=1.00 loops=1)
        Output: ((100.00 * sum(CASE WHEN ((part.p_type)::text ~~ 'PROMO%'::text) THEN (lineitem.l_extendedprice * ('1'::numeric - lineitem.l_discount)) ELSE '0'::numeric END)) / sum((lineitem.l_extendedprice * ('1'::numeric - lineitem.l_discount))))
        Buffers: shared hit=112555 read=4097
        ->  Hash Join  (cost=8597.00..212247.41 rows=78521 width=33) (actual time=36.157..516.738 rows=77933.00 loops=1)
              Output: part.p_type, lineitem.l_extendedprice, lineitem.l_discount
              Hash Cond: (lineitem.l_partkey = part.p_partkey)
              Buffers: shared hit=112555 read=4097
              ->  Seq Scan on public.lineitem  (cost=0.00..202570.75 rows=78521 width=16) (actual time=0.015..446.860 rows=77933.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
                    Filter: ((lineitem.l_shipdate >= '1996-12-01'::date) AND (lineitem.l_shipdate < '1997-01-01 00:00:00'::timestamp without time zone))
                    Rows Removed by Filter: 5923282
                    Buffers: shared hit=112555
              ->  Hash  (cost=6097.00..6097.00 rows=200000 width=25) (actual time=35.915..35.915 rows=200000.00 loops=1)
                    Output: part.p_type, part.p_partkey
                    Buckets: 262144  Batches: 1  Memory Usage: 13600kB
                    Buffers: shared read=4097
                    ->  Seq Scan on public.part  (cost=0.00..6097.00 rows=200000 width=25) (actual time=0.316..15.976 rows=200000.00 loops=1)
                          Output: part.p_type, part.p_partkey
                          Buffers: shared read=4097
Planning:
  Buffers: shared hit=153
Planning Time: 0.303 ms
Execution Time: 528.925 ms

--- [ CONFIG: goo_rows ] ----------------------------------------
Limit  (cost=213621.54..213621.55 rows=1 width=32) (actual time=538.183..538.185 rows=1.00 loops=1)
  Output: (((100.00 * sum(CASE WHEN ((part.p_type)::text ~~ 'PROMO%'::text) THEN (lineitem.l_extendedprice * ('1'::numeric - lineitem.l_discount)) ELSE '0'::numeric END)) / sum((lineitem.l_extendedprice * ('1'::numeric - lineitem.l_discount)))))
  Buffers: shared hit=116652
  ->  Aggregate  (cost=213621.54..213621.55 rows=1 width=32) (actual time=538.182..538.184 rows=1.00 loops=1)
        Output: ((100.00 * sum(CASE WHEN ((part.p_type)::text ~~ 'PROMO%'::text) THEN (lineitem.l_extendedprice * ('1'::numeric - lineitem.l_discount)) ELSE '0'::numeric END)) / sum((lineitem.l_extendedprice * ('1'::numeric - lineitem.l_discount))))
        Buffers: shared hit=116652
        ->  Hash Join  (cost=8597.00..212247.41 rows=78521 width=33) (actual time=33.912..526.187 rows=77933.00 loops=1)
              Output: part.p_type, lineitem.l_extendedprice, lineitem.l_discount
              Hash Cond: (lineitem.l_partkey = part.p_partkey)
              Buffers: shared hit=116652
              ->  Seq Scan on public.lineitem  (cost=0.00..202570.75 rows=78521 width=16) (actual time=0.016..457.833 rows=77933.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
                    Filter: ((lineitem.l_shipdate >= '1996-12-01'::date) AND (lineitem.l_shipdate < '1997-01-01 00:00:00'::timestamp without time zone))
                    Rows Removed by Filter: 5923282
                    Buffers: shared hit=112555
              ->  Hash  (cost=6097.00..6097.00 rows=200000 width=25) (actual time=33.690..33.690 rows=200000.00 loops=1)
                    Output: part.p_type, part.p_partkey
                    Buckets: 262144  Batches: 1  Memory Usage: 13600kB
                    Buffers: shared hit=4097
                    ->  Seq Scan on public.part  (cost=0.00..6097.00 rows=200000 width=25) (actual time=0.007..15.989 rows=200000.00 loops=1)
                          Output: part.p_type, part.p_partkey
                          Buffers: shared hit=4097
Planning:
  Buffers: shared hit=153
Planning Time: 0.276 ms
Execution Time: 538.398 ms

--- [ CONFIG: goo_selectivity ] ----------------------------------------
Limit  (cost=213621.54..213621.55 rows=1 width=32) (actual time=514.000..514.001 rows=1.00 loops=1)
  Output: (((100.00 * sum(CASE WHEN ((part.p_type)::text ~~ 'PROMO%'::text) THEN (lineitem.l_extendedprice * ('1'::numeric - lineitem.l_discount)) ELSE '0'::numeric END)) / sum((lineitem.l_extendedprice * ('1'::numeric - lineitem.l_discount)))))
  Buffers: shared hit=116652
  ->  Aggregate  (cost=213621.54..213621.55 rows=1 width=32) (actual time=513.999..514.000 rows=1.00 loops=1)
        Output: ((100.00 * sum(CASE WHEN ((part.p_type)::text ~~ 'PROMO%'::text) THEN (lineitem.l_extendedprice * ('1'::numeric - lineitem.l_discount)) ELSE '0'::numeric END)) / sum((lineitem.l_extendedprice * ('1'::numeric - lineitem.l_discount))))
        Buffers: shared hit=116652
        ->  Hash Join  (cost=8597.00..212247.41 rows=78521 width=33) (actual time=31.882..502.485 rows=77933.00 loops=1)
              Output: part.p_type, lineitem.l_extendedprice, lineitem.l_discount
              Hash Cond: (lineitem.l_partkey = part.p_partkey)
              Buffers: shared hit=116652
              ->  Seq Scan on public.lineitem  (cost=0.00..202570.75 rows=78521 width=16) (actual time=0.013..439.855 rows=77933.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
                    Filter: ((lineitem.l_shipdate >= '1996-12-01'::date) AND (lineitem.l_shipdate < '1997-01-01 00:00:00'::timestamp without time zone))
                    Rows Removed by Filter: 5923282
                    Buffers: shared hit=112555
              ->  Hash  (cost=6097.00..6097.00 rows=200000 width=25) (actual time=31.701..31.701 rows=200000.00 loops=1)
                    Output: part.p_type, part.p_partkey
                    Buckets: 262144  Batches: 1  Memory Usage: 13600kB
                    Buffers: shared hit=4097
                    ->  Seq Scan on public.part  (cost=0.00..6097.00 rows=200000 width=25) (actual time=0.007..15.365 rows=200000.00 loops=1)
                          Output: part.p_type, part.p_partkey
                          Buffers: shared hit=4097
Planning:
  Buffers: shared hit=153
Planning Time: 0.268 ms
Execution Time: 514.126 ms

--- [ CONFIG: goo_result_size ] ----------------------------------------
Limit  (cost=213621.54..213621.55 rows=1 width=32) (actual time=513.617..513.621 rows=1.00 loops=1)
  Output: (((100.00 * sum(CASE WHEN ((part.p_type)::text ~~ 'PROMO%'::text) THEN (lineitem.l_extendedprice * ('1'::numeric - lineitem.l_discount)) ELSE '0'::numeric END)) / sum((lineitem.l_extendedprice * ('1'::numeric - lineitem.l_discount)))))
  Buffers: shared hit=116652
  ->  Aggregate  (cost=213621.54..213621.55 rows=1 width=32) (actual time=513.616..513.620 rows=1.00 loops=1)
        Output: ((100.00 * sum(CASE WHEN ((part.p_type)::text ~~ 'PROMO%'::text) THEN (lineitem.l_extendedprice * ('1'::numeric - lineitem.l_discount)) ELSE '0'::numeric END)) / sum((lineitem.l_extendedprice * ('1'::numeric - lineitem.l_discount))))
        Buffers: shared hit=116652
        ->  Hash Join  (cost=8597.00..212247.41 rows=78521 width=33) (actual time=30.169..502.001 rows=77933.00 loops=1)
              Output: part.p_type, lineitem.l_extendedprice, lineitem.l_discount
              Hash Cond: (lineitem.l_partkey = part.p_partkey)
              Buffers: shared hit=116652
              ->  Seq Scan on public.lineitem  (cost=0.00..202570.75 rows=78521 width=16) (actual time=0.013..440.554 rows=77933.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
                    Filter: ((lineitem.l_shipdate >= '1996-12-01'::date) AND (lineitem.l_shipdate < '1997-01-01 00:00:00'::timestamp without time zone))
                    Rows Removed by Filter: 5923282
                    Buffers: shared hit=112555
              ->  Hash  (cost=6097.00..6097.00 rows=200000 width=25) (actual time=29.999..30.000 rows=200000.00 loops=1)
                    Output: part.p_type, part.p_partkey
                    Buckets: 262144  Batches: 1  Memory Usage: 13600kB
                    Buffers: shared hit=4097
                    ->  Seq Scan on public.part  (cost=0.00..6097.00 rows=200000 width=25) (actual time=0.008..14.916 rows=200000.00 loops=1)
                          Output: part.p_type, part.p_partkey
                          Buffers: shared hit=4097
Planning:
  Buffers: shared hit=153
Planning Time: 0.262 ms
Execution Time: 513.721 ms

--- [ CONFIG: goo_cost ] ----------------------------------------
Limit  (cost=213621.54..213621.55 rows=1 width=32) (actual time=514.121..514.124 rows=1.00 loops=1)
  Output: (((100.00 * sum(CASE WHEN ((part.p_type)::text ~~ 'PROMO%'::text) THEN (lineitem.l_extendedprice * ('1'::numeric - lineitem.l_discount)) ELSE '0'::numeric END)) / sum((lineitem.l_extendedprice * ('1'::numeric - lineitem.l_discount)))))
  Buffers: shared hit=116652
  ->  Aggregate  (cost=213621.54..213621.55 rows=1 width=32) (actual time=514.120..514.123 rows=1.00 loops=1)
        Output: ((100.00 * sum(CASE WHEN ((part.p_type)::text ~~ 'PROMO%'::text) THEN (lineitem.l_extendedprice * ('1'::numeric - lineitem.l_discount)) ELSE '0'::numeric END)) / sum((lineitem.l_extendedprice * ('1'::numeric - lineitem.l_discount))))
        Buffers: shared hit=116652
        ->  Hash Join  (cost=8597.00..212247.41 rows=78521 width=33) (actual time=30.302..502.676 rows=77933.00 loops=1)
              Output: part.p_type, lineitem.l_extendedprice, lineitem.l_discount
              Hash Cond: (lineitem.l_partkey = part.p_partkey)
              Buffers: shared hit=116652
              ->  Seq Scan on public.lineitem  (cost=0.00..202570.75 rows=78521 width=16) (actual time=0.012..439.424 rows=77933.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
                    Filter: ((lineitem.l_shipdate >= '1996-12-01'::date) AND (lineitem.l_shipdate < '1997-01-01 00:00:00'::timestamp without time zone))
                    Rows Removed by Filter: 5923282
                    Buffers: shared hit=112555
              ->  Hash  (cost=6097.00..6097.00 rows=200000 width=25) (actual time=30.103..30.105 rows=200000.00 loops=1)
                    Output: part.p_type, part.p_partkey
                    Buckets: 262144  Batches: 1  Memory Usage: 13600kB
                    Buffers: shared hit=4097
                    ->  Seq Scan on public.part  (cost=0.00..6097.00 rows=200000 width=25) (actual time=0.007..15.124 rows=200000.00 loops=1)
                          Output: part.p_type, part.p_partkey
                          Buffers: shared hit=4097
Planning:
  Buffers: shared hit=153
Planning Time: 0.262 ms
Execution Time: 514.972 ms

--- [ CONFIG: geqo ] ----------------------------------------
Limit  (cost=213621.54..213621.55 rows=1 width=32) (actual time=515.512..515.514 rows=1.00 loops=1)
  Output: (((100.00 * sum(CASE WHEN ((part.p_type)::text ~~ 'PROMO%'::text) THEN (lineitem.l_extendedprice * ('1'::numeric - lineitem.l_discount)) ELSE '0'::numeric END)) / sum((lineitem.l_extendedprice * ('1'::numeric - lineitem.l_discount)))))
  Buffers: shared hit=116652
  ->  Aggregate  (cost=213621.54..213621.55 rows=1 width=32) (actual time=515.511..515.513 rows=1.00 loops=1)
        Output: ((100.00 * sum(CASE WHEN ((part.p_type)::text ~~ 'PROMO%'::text) THEN (lineitem.l_extendedprice * ('1'::numeric - lineitem.l_discount)) ELSE '0'::numeric END)) / sum((lineitem.l_extendedprice * ('1'::numeric - lineitem.l_discount))))
        Buffers: shared hit=116652
        ->  Hash Join  (cost=8597.00..212247.41 rows=78521 width=33) (actual time=30.032..503.778 rows=77933.00 loops=1)
              Output: part.p_type, lineitem.l_extendedprice, lineitem.l_discount
              Hash Cond: (lineitem.l_partkey = part.p_partkey)
              Buffers: shared hit=116652
              ->  Seq Scan on public.lineitem  (cost=0.00..202570.75 rows=78521 width=16) (actual time=0.012..441.081 rows=77933.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
                    Filter: ((lineitem.l_shipdate >= '1996-12-01'::date) AND (lineitem.l_shipdate < '1997-01-01 00:00:00'::timestamp without time zone))
                    Rows Removed by Filter: 5923282
                    Buffers: shared hit=112555
              ->  Hash  (cost=6097.00..6097.00 rows=200000 width=25) (actual time=29.843..29.844 rows=200000.00 loops=1)
                    Output: part.p_type, part.p_partkey
                    Buckets: 262144  Batches: 1  Memory Usage: 13600kB
                    Buffers: shared hit=4097
                    ->  Seq Scan on public.part  (cost=0.00..6097.00 rows=200000 width=25) (actual time=0.008..14.961 rows=200000.00 loops=1)
                          Output: part.p_type, part.p_partkey
                          Buffers: shared hit=4097
Planning:
  Buffers: shared hit=153
Planning Time: 0.366 ms
Execution Time: 515.611 ms
