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