Я создал MV на многих столах. Я не хочу автоматически обновлять его. Я просто хочу знать, были ли изменены исходные таблицы или нет. Как лучше всего это сделать?
Материализованное представление Oracle: как определить, были ли изменены исходные таблицы?
comment
что именно вы хотите сделать?
- person Florin Ghita   schedule 03.11.2011
Ответы (1)
Если вы создали MV с быстрым обновлением, вы также создали журналы Materialied View для базовых таблиц. Вы можете выдать select count(*)
из соответствующего журнала MV (это таблица, содержащая имя таблицы и M_$ или что-то в этом роде).
Но если вы хотите просто знать, требуется ли обновление, вы можете безопасно снимать быстрое обновление. Это было бы со скоростью света, если бы не было строк для обновления.
person
Florin Ghita
schedule
03.11.2011
Таким образом, нет представления оракула, содержащего информацию о том, является ли MV действительным или нет?
- person Marshall; 03.11.2011
только MV с быстрым обновлением хранят такую информацию. Вы можете проверить журналы материализованного представления, как я уже сказал.
- person Florin Ghita; 03.11.2011
Как насчет этого: SELECT STALENESS FROM user_mviews WHERE mview_name = ..., это хорошее решение?
- person Marshall; 04.11.2011
кажется, вы правы download.oracle.com/ docs/cd/B19306_01/server.102/b14237/ Да, я думаю, что этот флаг заслуживает доверия, вы можете проверить его.
- person Florin Ghita; 04.11.2011