我一直在研究使用物化视图进行数据聚合和报告的目的,该公司主要以交易为中心(使用 Oracle 数据库)。当前的报告系统依赖于一系列视图,这些视图掩盖了应用程序的许多复杂数据逻辑。这些视图在调用时会给系统带来沉重的负担。
我们有兴趣使用“快速刷新”进行增量更新,以便在用于报告之前执行一些复杂的查询逻辑;但是,组织内部担心物化视图日志(此快速刷新所需的)将对我们当前在数据库中的事务性能产生影响。这种表现对我们的组织非常重要,因此非常害怕任何变化。
这是我们需要实现的物化视图日志类型的示例:
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;
我们不会在更新时使用“on commit”子句,而是在创建视图时使用“on demand”子句,因为我们知道这会对性能产生影响。
实现这种类型的日志记录会影响数据库事务性能吗?我想它一定会稍微影响性能,因为提交中包含了一个额外的写入过程(到日志),但我在 Oracle 文档中找不到对此的任何引用。任何有关此主题的文献或建议将不胜感激。
谢谢你的帮助!