Бази даних · Middle · Запитання 14 з 75
Чому SELECT COUNT(*) FROM big_table у PostgreSQL може бути повільним?
- 1
COUNT(*)не підтримується на великих таблицях - ✓Правильна відповідь: Через MVCC кожна транзакція може бачити різні рядки, тож PostgreSQL мусить сканувати, щоб порахувати видимі
- 3PostgreSQL рахує кожен стовпець кожного рядка
Пояснення
Якщо досить приблизного числа, читайте оцінку з pg_class.reltuples або ведіть лічильник, який оновлює застосунок чи тригер.