#oracle
Есть мат.представление CREATE MATERIALIZED VIEW emp2 REFRESH COMPLETE ON COMMIT AS SELECT * FROM emp; Допустим кто-то внёс изменения в таблицу emp, зафиксировал (commit). Представление начинает обновляться, и тут кто-то другой выполняет запрос к emp2. Что произойдёт? Как сделать так, чтобы вернулись обновленные данные? Как это сделать за счет ожидания изменившего и как это сделать засчет ожидания запросившего?
Ответы
Ответ 1
Refresh по сути не должен блокировать доступ к индексированному представлению (материализованному), т.е. по сути создаются новые физические записи на диске, а не перезаписываются. А вот если делается ALTER VIEW, то происходит его монопольная блокировка
Комментариев нет:
Отправить комментарий