============================================================ Benchmark - PostgreSQL 17 • 1 000 000 rows Runs per query: 3 JIT: off Parallelism: off ============================================================ -- heap (table: events_heap) -- Q1 count(*): 42.929 ms | samples=[44.7, 42.929, 41.34] Q2 SUM/AVG numeric+double: 155.663 ms | samples=[155.663, 146.489, 157.341] Q3 GROUP BY country (10): 201.335 ms | samples=[191.443, 201.335, 203.315] Q4 GROUP BY event_type+p95: 601.976 ms | samples=[612.415, 601.976, 591.365] Q5 date range 1 month: 20.316 ms | samples=[35.19, 20.316, 19.96] Q6 JSONB @> GIN: 261.710 ms | samples=[243.567, 265.295, 261.71] Q7 JSONB key + GROUP BY: 367.932 ms | samples=[408.176, 367.932, 359.484] Q8 array @> GIN: 215.006 ms | samples=[210.927, 215.579, 215.006] Q9 LIKE text scan: 142.976 ms | samples=[141.096, 142.976, 143.918] Q10 heavy multi-agg: 2208.063 ms | samples=[2264.639, 2208.063, 2184.914] -- colcompress (table: events_col) -- Q1 count(*): 4.431 ms | samples=[5.863, 3.753, 4.431] Q2 SUM/AVG numeric+double: 93.664 ms | samples=[96.267, 93.664, 90.312] Q3 GROUP BY country (10): 153.528 ms | samples=[154.393, 152.614, 153.528] Q4 GROUP BY event_type+p95: 558.409 ms | samples=[558.699, 545.193, 558.409] Q5 date range 1 month: 22.652 ms | samples=[22.652, 21.862, 22.825] Q6 JSONB @> GIN: 190.649 ms | samples=[190.649, 184.006, 191.637] Q7 JSONB key + GROUP BY: 341.156 ms | samples=[336.621, 341.882, 341.156] Q8 array @> GIN: 150.302 ms | samples=[148.94, 150.302, 152.792] Q9 LIKE text scan: 124.096 ms | samples=[124.096, 135.498, 112.261] Q10 heavy multi-agg: 2248.431 ms | samples=[2187.809, 2248.431, 2292.619] -- rowcompress (table: events_row) -- Q1 count(*): 354.101 ms | samples=[418.683, 349.309, 354.101] Q2 SUM/AVG numeric+double: 413.494 ms | samples=[404.835, 414.885, 413.494] Q3 GROUP BY country (10): 445.597 ms | samples=[449.218, 445.597, 444.651] Q4 GROUP BY event_type+p95: 874.027 ms | samples=[863.427, 874.027, 931.91] Q5 date range 1 month: 68.546 ms | samples=[67.536, 68.771, 68.546] Q6 JSONB @> GIN: 363.631 ms | samples=[370.435, 363.568, 363.631] Q7 JSONB key + GROUP BY: 621.401 ms | samples=[617.336, 621.401, 628.24] Q8 array @> GIN: 302.281 ms | samples=[305.254, 301.655, 302.281] Q9 LIKE text scan: 371.864 ms | samples=[379.716, 371.864, 369.459] Q10 heavy multi-agg: 2465.989 ms | samples=[2465.989, 2505.047, 2454.777]