Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 数据更改通知对性能的影响_Java_Oracle - Fatal编程技术网

Java 数据更改通知对性能的影响

Java 数据更改通知对性能的影响,java,oracle,Java,Oracle,我构建了一个简单的应用程序,在单个表上监视Oracle的DB。我试图测试启用的订阅对性能的影响,但对于在独立事务中每个插入大约10000条记录的降级大约为x2感到惊讶 无订阅10k插入约30秒 订阅ROWID粒度为10k插入~60秒 如果我设置: OracleConnection.DCN\u NOTIFY\u ROWIDS,false OracleConnection.DCN\u查询\u更改\u通知,false 然后所有的降级都消失了,但我需要得到更新的细节。 我删除了客户端的所有额外处理,所以

我构建了一个简单的应用程序,在单个表上监视Oracle的DB。我试图测试启用的订阅对性能的影响,但对于在独立事务中每个插入大约10000条记录的降级大约为x2感到惊讶

无订阅10k插入约30秒 订阅ROWID粒度为10k插入~60秒 如果我设置:

OracleConnection.DCN\u NOTIFY\u ROWIDS,false OracleConnection.DCN\u查询\u更改\u通知,false

然后所有的降级都消失了,但我需要得到更新的细节。 我删除了客户端的所有额外处理,所以这都是关于订阅开销的


我想知道它本质上是如此昂贵,还是我可以以某种方式对此进行调整?

数据库更改通知在提交期间会产生开销。这是无法调谐的。请注意,此功能是为值得缓存在客户机/中间层上的以读取为主的表而设计的。一个技巧可能是在批量插入过程中注销应用程序。

那么您的问题是,为什么在将通知添加到false时,性能会提高?不,问题是为什么它会变得如此缓慢