У меня есть две базы данных Postgres. В одном у меня есть две таблицы, каждый приблизительно с 8 000 000 строк, и количество на любом из них занимает приблизительно секунду. В другой базе данных, также Пост-ГРЭС, существуют таблицы, которые являются 1 000 000 строк, и количество занимает 10-е и одну таблицу, это - приблизительно 6 000 000 строк, и количество занимает 3 минуты для выполнения. Что определяют факторы, сколько времени это возьмет? Они находятся на различных машинах, но база данных, которая занимает больше времени, находится на более быстрой машине.
Я читал о том, как количество пост-ГРЭС является медленным в целом, но это кажется нечетным мне. Я не могу действительно использовать обходное решение, потому что я использую django, и он проводит подсчет в администраторе, который берет навсегда и делает трудным использовать.
Любая информация об этом была бы полезна.
Скорость подсчета зависит не только от количества строк в таблице, но и от времени, затрачиваемого на считывание данных с диска. Время зависит от многих вещей:
Во-первых, индексы, кеши, скорость диска - все это имеет значение.
"Медленная таблица" правильно очищена?
Разве не используется VACUUM FULL, это только создает раздутые таблицы и индексы. ВАКУУМА вполне достаточно. ВАКУУМНЫЙ АНАЛИЗ был бы даже лучше.
И убедитесь, что автоочистка включена и правильно настроена