Использование опции Oracle ON COMMIT для материализованной ссылки на базу данных - PullRequest
0 голосов
/ 12 февраля 2020

У меня есть вопрос.

У меня есть таблица в база данных 1 с именем Distribution_id , которая будет содержать не более 2000 записей одновременно, у меня есть материализованное представление с именем Mv_Distribution_id , которое является копией Distribution_id таблицы в база данных 2 .

Я хочу сделать быстрое обновление sh материализованного представления Mv_Distribution_id в база данных 2 , когда когда-либо произойдут изменения в данных в таблице базы данных Distribution_id в базе данных 1 .

Если материализованное представление Mv_Distribution_id в базе данных 2 было создано с "* 1029 Опция * ON COMMIT"будет отображать, что таблица базы данных в database 1 была изменена и автоматически быстро обновляла материализованное представление, или нет" ON COMMIT" Опция работает над ссылкой на базу данных, и мне нужно обновить ее sh, используя пакетную процедуру или триггер таблицы базы данных в таблице Distribution_id.

Причина, по которой я создал материализованное представление, - иногда база 1 доступны для базы данных 2, поэтому создание копии является быстрым решением.

Заранее спасибо.

1 Ответ

0 голосов
/ 12 февраля 2020

Как указано в документации :

Материализованное представление может автоматически обновляться с использованием метода ON COMMIT. Следовательно, всякий раз, когда транзакция фиксирует обновление таблиц, для которых определено материализованное представление, эти изменения автоматически отражаются в материализованном представлении. Преимущество использования этого подхода состоит в том, что вам никогда не придется помнить sh материализованное представление.

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

...