• Oracle何时commit???


      这是我的第三篇博客~

      今天主要说一下数据库commit对执行效率的影响。

      聪哥:曾经写800W的数据量的时候,期间commit和最终commit 时间上相差一个多小时。。。具体是不是这样我无从考证,不过好像有点道理~

      wangyou:单次50与单条相差不大,但单次1000与单次一条相差就明显了

      wangyou2:批量,因为单次会导致频繁的commit,频繁commit会引起Oracle的LGWR进程相关性能问题.但是批量也不能太大(比如8W、10W、20W一个批次),会导致undo相关的性能问题。

      我的情景:

      消息发送引擎,要把A数据库的待发送消息的批次表和明细表抓取出来,然后通过DB直连的方式写入B数据库,由于引擎受限不同与DB_LINK直连,所以目前是引擎先查A数据库,抓取出来1000条,然后再以insert () values ()的形式写进去,加上两个数据库一个在上海一个在北京,所以特别慢?

      我的思路:1.先排查是否有commit的操作;2.如果可以直接两个数据库直连,采用 insert ()  select ...from A的形式。

      各位读者如果有好的方法可以提下,后续现场的处理进展我会及时更新上来。

    ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

      2017-06-28

      今天我试了下在写入本地数据库另一个实例中,挑了下pagesize的大小为1000,结果在开发环境就达到每秒240条的速度,这个速度还是比较理想的,所以怀疑是网络的问题,引擎不用改写了...

  • 相关阅读:
    在 Java 应用程序中绑定 Bean 和数据
    JAVA的23种设计模式
    Windows 2012 Server评估版本安装问题处理
    从程序员到CTO的Java技术路线图
    MyBatis 学习
    CRT【p3868】[TJOI2009]猜数字
    线段树+扫描线【bzoj1645】[USACO07OPEN]城市的地平线City Horizon
    数学【CF743C】Vladik and fractions
    贪心【CF1029E】Tree with Small Distances
    线段树+二进制位拆分【CF242E】XOR on Segment
  • 原文地址:https://www.cnblogs.com/gby-blogs/p/7087843.html
Copyright © 2020-2023  润新知