Data Science. SQL hub: post #2462 — TG.ME

🔥 SQL-совет: `COUNT(*)` иногда можно вообще не считать

Если в PostgreSQL тебе нужно не точное число строк, а быстрая оценка размера огромной таблицы, не запускай:


SELECT COUNT(*) FROM events;


На большой таблице это может читать миллионы строк.

Для быстрой оценки можно взять статистику PostgreSQL:


SELECT reltuples::bigint
FROM pg_class
WHERE relname = 'events';


reltuples хранит примерную оценку количества строк, которую PostgreSQL обновляет после ANALYZE и VACUUM.

Это полезно для админок, мониторинга, дашбордов и проверок вида «в таблице примерно 10 млн или 100 млн строк?», где абсолютная точность не нужна.

А если нужна актуальная оценка:


ANALYZE events;


После этого reltuples станет ближе к реальному количеству строк.

На таблицах в сотни миллионов строк разница между мгновенной оценкой и настоящим COUNT(*) может быть огромной.
❤6👍5
August 22, 2026 2.2K 24