대용량 master table에서 자료가 아주 큰 데이터를 filtering 하여 mview를 생성하려고 합니다.
특정 자료의 경우 전체가 100,000 개 라면 1,000개 정도를 filter 하여 mview를 생성하는 경우라 보시면 됩니다.
fast refresh를 위해 master table에 mview log를 생성했습니다.
(mview는 단순 join을 위한 것입니다. 따라서 rowid로 생성을 했습니다.)
그런데, 여기서 문제가 특정 자료에 대해 mview를 생성했기 때문에
그 이외의 99,000 자료의 경우에는 굳이 mview log에 적재할 필요가 없습니다. refresh와 될일도 없거니와 그렇게 되지 않으므로 mview log에는 지속적으로 데이터가 축적이 될것 같습니다.
이런식이면 fast refresh를 전혀 이용하지 못할것 같은데요.
가급적이면 fast refresh를 이용하려고 하는데 무분별하게 쌓이는 mvew log를 참조하는 mview에 대해서만 제한할 수 없는 것인지요. 아니면, mlog$_master-table의 데이터 중 해당없는 자료를 찾아내서 강제로 안전(?)하게 삭제하는 것도 방법일수 있는 것인지요.
너무 답답하네요..그렇다고 complete로만 하기엔 비효율적이고... 방법을 아시면 부탁드리겠습니다.
|