Когда фактически изменяются данные в материализованном представлении Oracle? - PullRequest
0 голосов
/ 07 декабря 2018

У меня есть материализованное представление Oracle, обновленное по требованию.Поскольку представление довольно большое, для обновления требуется некоторое время.Мне интересно: когда обновления действительно становятся видимыми для запросов, которые пытаются прочитать представление?Обновляет ли СУБД представление в буфере, а затем делает его видимым после завершения обновления?Или изменения постепенно станут видны читателю?Можно ли это контролировать?

1 Ответ

0 голосов
/ 08 декабря 2018

Материализованные представления могут обновляться при фиксации или по требованию.Документация Oracle достаточно хороша

https://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_6002.htm#i2116410

Для постепенного обновления материализованных представлений вы должны использовать опцию FAST и иметь материализованные журналы представлений для регистрации изменений в исходных таблицах.

Если вы запланируете требуемые обновления часто, для каждого обновления будет выполняться меньше работы.Если вы планируете их реже, будет еще больше работы.Вам нужно выяснить, как изменения исходных таблиц распределяются по времени, чтобы правильно выбирать.

Изменения будут видны пользователям, когда будет выполнено обновление (любого размера).

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