UDN-企业互联网技术人气社区

板块导航

浏览  : 1817
回复  : 0

[面试相关] 数据库commit操作是否应该在一个大事务中实现,也就是一个大事务只有一个commit?

[复制链接]
忍乳负重的头像 楼主
发表于 2015-6-1 11:47:13 | 显示全部楼层 |阅读模式
使用一个大事务来实现批量数据库操作,虽然回退和重提非常方便,但是不利于批量数据操作出现异常时的处理和时间要求。如果批量数据处理在最后一步运行缓慢或失败,那么事务回退时间将非常长,重新运行需要从头开始跑整个事务,可能无法满足有限的批量数据操作时间窗口要求
Oracle数据库的情况下,大事务操作需要设置足够大的undo表空间,insert操作要大于数据大小的一倍;update,delete操作要大于数据大小的两倍。另外还需要兼顾其他操作的消耗。
如果分批操作会影响业务完整性,则没必要分批进行,而且也不建议去故意分批进行操作,只需要保证有足够大的undo表空间。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于我们
联系我们
  • 电话:010-86393388
  • 邮件:udn@yonyou.com
  • 地址:北京市海淀区北清路68号
移动客户端下载
关注我们
  • 微信公众号:yonyouudn
  • 扫描右侧二维码关注我们
  • 专注企业互联网的技术社区
版权所有:用友网络科技股份有限公司82041 京ICP备05007539号-11 京公网网备安1101080209224 Powered by Discuz!
快速回复 返回列表 返回顶部