论各数据库大数据量同步及批处理batch条数限制

      大家都知道,数据库处理几百万以上的数据时,要提高效率,批处理和多线程是首要考虑的方案,其次就是把自动提交设置为手动提交,大概是因为自动提交数据库需要多一个判断是否符合提交条件的操作从而比设置手动提交更耗时间的缘故。

       说到多线程,这里需要提到的是,已经进行批处理的事务,只能够一个数据库去处理,我的意思思,数据库只有一个,一次只能处理一个批次提交操作,再多的批次也只能按顺序一个个排队来处理,多线程调用批处理在这里的作用实际就是节约了单线程完结后不断初始化的性能损耗,这是我个人的理解。

       废话不多说,下面是本人看技术资料总结的数据库批处理数量限制条件:

        sqlServer 一次允许1000条sql语句和参数限制为2100;

        mySql默认允许一次sql总长度为4M,当然可通过此语句改变默认设定:SET GLOBAL max_allowed_packet=268435456;(256M)

       Oracle一次批处理上限大概为5万多条(原因未搜到资料,欢迎各位大佬知道的评论区告诉我哦,感谢,共勉!)。

 

 


版权声明:本文为pangwenyu1989620原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。