что RECURSIVE и довольно долгий для запроса. хочу делать ему REFRESH в процессе транзакции обновления таблиц, из которых этот VIEW и состоит, но во время выполнения REFRESH запросы к этому VIEW стоят в статусе Lock и выполняются только после того как REFRESH закончится. что делать? отказываться от MATERIALIZED VIEW и делать через TEMPORARY TABLE?
А так -- вопрос сложный, надо предметную область представлять и задачи, так что тебе его решать.
Если запрос долгий, IMHO его надо оптимизировать, а не материализировать. Или ликвидировать если его невозможно оптимизировать.
не делайте так никогда, получите неконсистентность данных в мат вью при параллельных запросах на изменение таблиц. обновлять его стоит снаружи по расписанию
Обсуждают сегодня