跳转到内容
彼岸论坛
欢迎抵达彼岸 彼岸花开 此处谁在 -彼岸论坛

[问与答] 关于程序当中插入是否需要开启事务


已推荐帖子

发表于

今天听组里的同事说,在程序当中如果是单表插入不需要开启事务,如果插入不进去肯定失败,我很好奇如果不开启事务 mysql 会怎么处理?我怀疑如下: 1.如果程序当中不开启事务 mysql 会不会使用默认事务? 2.如果不开启事务 mysql 是怎么保证数据持久化的还是说对于 ddl 语句 mysql 会隐式提交? 3.如果不开启事务在主从同步下,mysql 怎么同步 binlog 日志?

对于如上问题我做了个实验,如果 mysql 不开启事务进行单表插入且在主从同步下,因为没有提交事务,redo 一直处于 prepare 状态,本次事务一直等待,如果 mysql 存在隐式提交那么它会把那些未提交的事务一并提交,这点可以从 binlog 日志看出来,如果没有隐式提交,此时 mysql 挂掉那么没有提交的事务就丢了,实验结果也是如此。

请问如果是单表操作,要不要开启事务呢?

  • 游客注册

    游客注册

  • 会员

    没有会员可显示

  • 最新的状态更新

    没有最新的状态更新
  • 最近查看

    • 没有会员查看此页面.
×
×
  • 创建新的...