У меня есть материализованное представление, которое объединяет 5 таблиц (которые находятся вне моего контроля) с некоторой оптимизацией, работающей на Postgres БД. В таблице около 30-40 миллионов строк. Это материализованное представление необходимо обновлять один раз в день (после полуночи), так как новые данные добавляются / обновляются в этих 5 таблицах. Есть около 50-150 тысяч обновленных строк, которые нужно обновлять в режиме просмотра матов каждый день.
Вот проблема, когда я переосмысливаю sh материализованное представление без одновременного выполнения, оно выполняется примерно за 25-35 минут. Тем не менее, когда вы делаете это одновременно, это занимает около 15 часов! тот с индексами упал. Интересно, чего ожидать, и что я должен устранять в этом сценарии? Я установил для work_mem значение 500 МБ в ОЗУ объемом 2 ГБ, а для IOPS - 2000 для RDS.
Если это ожидалось и не могло быть решено, я думал о создании двух материализованных представлений, в которых я бы направил к одному, пока обновляется другой, это хорошая идея или есть лучшее решение?