[英]Data Change Notification performance impact
I built a simple application that is monitoring Oracle's DB on a single table. 我构建了一个简单的应用程序,该应用程序在单个表上监视Oracle的数据库。 I tried to test performance impact of enabled subscription and was unpleased surprised that degradation is about x2 for inserting about 10000 records each in standalone transaction.
我试图测试启用的订阅对性能的影响,但对于在独立事务中每个插入约10000条记录的降级大约是x2,我感到很惊讶。
If I set: 如果我设置:
OracleConnection.DCN_NOTIFY_ROWIDS, "false" OracleConnection.DCN_QUERY_CHANGE_NOTIFICATION, "false" OracleConnection.DCN_NOTIFY_ROWIDS,“假” OracleConnection.DCN_QUERY_CHANGE_NOTIFICATION,“假”
then all degradation is vanishing but I need to get details of updates. 那么所有降级都将消失,但是我需要获取更新的详细信息。 I removed all extra processing from client side so this is all about subscription overhead.
我从客户端删除了所有多余的处理,所以这全部与订阅开销有关。
I am wondering is it so expensive by nature or I can tune this somehow? 我想知道它天生如此昂贵,还是我可以以某种方式调整它?
Database change notification has an overhead during commit. 数据库更改通知在提交过程中有开销。 This can't be tuned.
这是无法调整的。 Note that this feature is designed for read-mostly tables that are worth being cached on the client/mid-tier.
请注意,此功能是为需要在客户端/中间层上缓存的只读表而设计的。 One trick might be to unregister your app during batch inserts.
一种技巧可能是在批量插入过程中注销您的应用程序。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.