У нас есть таблица с миллиардом записей. Если сделать COUNT(*), что произойдёт?

Точный COUNT(*) на миллиарде строк может потребовать большого объёма чтения и CPU. Конкретное поведение зависит от СУБД, движка, MVCC и выбранного плана; универсального мгновенного счётчика нет.

Короткий ответ

Что ответить на собеседовании

Точный COUNT(*) на миллиарде строк может потребовать большого объёма чтения и CPU. Конкретное поведение зависит от СУБД, движка, MVCC и выбранного плана; универсального мгновенного счётчика нет.

Подробный разбор

Ответ с пояснениями

Точный COUNT(*) на миллиарде строк может потребовать большого объёма чтения и CPU. Конкретное поведение зависит от СУБД, движка, MVCC и выбранного плана; универсального мгновенного счётчика нет.

В PostgreSQL нужно определить строки, видимые снимку, поэтому возможен parallel sequential или index-only scan, но не просто чтение точного числа из метаданных. На нагруженной системе запрос может конкурировать за I/O. Если точность не нужна, используют оценку статистики; если нужна часто — поддерживаемый агрегат с ясной транзакционной семантикой. Уточните фильтр, частоту и допустимую свежесть, прежде чем менять архитектуру.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее