PostgreSQL GROUP BY Performance Guide

Why GROUP BY Can Be Slow

GROUP BY requires scanning and sorting rows, especially when aggregating large datasets.

Use Proper Indexing

Index columns frequently used in GROUP BY clauses.

Example

SELECT department, COUNT(*)
FROM employees
GROUP BY department;

Parallel Aggregation

PostgreSQL can parallelize aggregation in newer versions. Ensure parallel workers are enabled.