Какие стратегии эффективности можно использовать для обработки как старого, так и нового бухгалтерского баланса? - PullRequest
1 голос
/ 13 мая 2019

Наш текущий подход использует представление (например, view_calculated_invoices) для вычисления и возврата текущего баланса всех счетов. Наша база данных значительно выросла, и производительность начинает падать.

Как вы можете себе представить, старые счета могут предоставить устаревшие данные , поскольку данные практически не изменяются после полной оплаты счета. Новые счета-фактуры очень активны и должны оставаться свежими (например: подача заявки на оплату и / или взимание просроченных платежей).

Какие стратегии производительности следует учитывать для поддержания сочетания старых (требуется меньшее обновление) с новыми счетами (необходимо частое обновление)?

Мы используем Postgresql v10.

Мы пытались использовать материализованное представление, но оно не сработало, потому что нам нужно было слишком часто обновлять данные из-за активности новых счетов.

Мы создали таблицу, чтобы сохранить результат запроса view_calculated_invoices и обновлять один счет-фактуру каждый раз, когда происходит изменение (удаление или обновление), но это вызывает у нас много проблем. Это временная стратегия, но теперь мы готовы рассмотреть профессиональные и лучшие стратегии.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...