複合問合せ(UNION ALL)のマテリアライズド・ビューのつくり方
けっこう手こずった。
というのは、REFRESH COMPLETEタイプならふつうにつくれるけど、
高速リフレッシュをしたかったのでREFRESH FAST ON COMMITタイプをつくろうとした。
そしたらエラーがでまくった。
まず、高速リフレッシュするには、マテリアライズド・ビュー・ログの作成が必要。
そして、複合問合せで高速リフレッシュのマテビューをつくるには、MARKERの指定が必要。
CREATE MATERIALIZED VIEW MV_TEST REFRESH FAST ON COMMIT AS SELECT HOGE1, HOGE2, 1 AS MARKER FROM HOGE UNION ALL SELECT BAR1, BAR2, 2 AS MARKER FROM BAR
Oracle9i データ・ウェアハウス・ガイド(リリース2 9.2)より。