veeru k, October 25, 2017 - 5:57 am UTC
Thanks Connor for your suggestion.
But the problem we see with creating MV for the entire remote table is huge data which isn't really required.
mview1: select * from "pom"@myodbc33
mview2: select * from "pom_contact"@MYODBC36
Also, it would perform complete MV refresh (not fast refresh) and data load would be significant to produce the network connection issues.
Regards,Vk.
October 25, 2017 - 7:25 am UTC
My idea was that you would incorporate as many simple predicates as possible
and ( "pom"."st" != 'VALUE' OR "pom"."storigin" IS NULL)
AND ( "pom"."prition" != 'CONSUMABLES' OR "pom"."prio_on" IS NULL)
AND "pom"."commer" != 'CONSUMABLES'
into the mview definitions without requiring the cross-database join.
This of course only makes if you intend to query your target mview (mview3 in my example) more often than you do the refresh.
Is fast Refresh possible?
A reader, October 26, 2017 - 11:10 am UTC
Thanks again Connor.
Also I understand that for Fast Refresh we would need to create MV Logs in source DB.
Does this work when our source DB is MySQL or does it only work when both source and target DB are Oracle DB.
Thanks,
Veeru
October 26, 2017 - 1:58 pm UTC
Well....Oracle has fast refresh mviews.
Other databases....well.... :-)
veeru k, October 26, 2017 - 2:13 pm UTC
Thanks for the quick response.
Did a quick search to understand that MySQL does have Flexviews (like mviews of oracle) which use FlexCDC (kind of mview logs) for fast refresh.
Does Oracle make use of these FlexCDC for it's mview fast refresh?
Thanks,Vk.
October 27, 2017 - 3:46 am UTC
Oracle uses materialized view logs (standard tables) for refresh.
veeru k, October 27, 2017 - 6:19 am UTC
Thanks much for clarifying on all our questions.
-Vk.