我构建了一个简单的应用程序,它在一个表上监视Oracle的数据库。我尝试测试启用订阅对性能的影响,并且对于在独立事务中插入大约10000条记录时降级大约为x2感到不高兴。
如果我设置:
OracleConnection.DCN_NOTIFY_ROWIDS," false" OracleConnection.DCN_QUERY_CHANGE_NOTIFICATION," false"
然后所有的退化都消失了,但我需要获得更新的细节。 我从客户端删除了所有额外的处理,所以这都是关于订阅费用的。
我想知道它本质上是如此昂贵还是我能以某种方式调整它?
答案 0 :(得分:1)
数据库更改通知在提交期间有开销。这无法调整。请注意,此功能专为读取大多数表而设计,这些表值得缓存在客户端/中间层上。一个技巧可能是在批量插入期间取消注册您的应用程序。