Есть база данных на Postgresql примерно со следующим функционалом:
table1 - примерно 3 миллиона записей, шесть индексов, по одному из них она кластеризорована. Данные в ней не меняются, по ней идет только поиск.
table2 - изменяемая таблица, в неё идет активный insert/update. Новые записи ищутся в table1.
Скорость работы:
Как видно первые порции обработаны с приемлемой скоростью, а потом идет падение производительности (стрелочка 1). Причем это падение наступает в случайный момент, не обязательно после двух порций. Если сделать vacuum analyze на table1 (которая не изменяемая) то производительность опять возрастает (стрелочка 2).
Пробовал отключить автоматическую сборку мусора на table2 - ничего не изменилось.
Проблема воспроизводится на двух разных компьютерах - под win7 и win10. Postgresql 9.5.