I studied the use of materialized views for data aggregation and reporting for a company that is mainly focused on transactions (using Oracle db). The current reporting system depends on a number of views that hide a lot of complex application data logic. These views place a heavy burden on the system when they are called.
We are interested in using a “quick update” for incremental updates to perform some complex query logic before being used in reporting; however, the organization is concerned that materialized browsing logs (which are required for this quick update) will affect our current database transaction performance. This work is very important for our organization, therefore there is a big fear of any changes.
Here is an example of the type of materialized view log that we need to implement:
create materialized view log on transaction with rowid, sequence(transaction_id,account_id,order_id,currency_id,price,transaction_date,payment_processor_id) including new values;
We will not use the on commit clause for updates, but the “on demand” clause when creating the view, since we understand that this will affect performance.
Will implementing this type of logging affect database transaction performance? I assume that this should slightly affect performance, as there is an additional write procedure (to the log) that is completed in commit, but I cannot find a link to this in the Oracle documentation. Any literature or advice on this would be appreciated.
Thank you for your help!
source share