zoukankan      html  css  js  c++  java
  • MySQL学习笔记:set autocommit=0和start transaction

      在MySQL中,接触事务的例子比较少,今晚在一个简单的存储过程中,循环插入50000条id数据的时候,得知必须开事务,如果逐提交数据,将会导致速度异常的慢。

      SET autocommit = 0;   指事务非自动提交,执行以后,每个SQL语句或语句块所在的事务都需要显示“commit”才能提交事务;

    1、不管autocommit 是1还是0 
      START TRANSACTION 后,只有当commit数据才会生效,ROLLBACK后就会回滚。

    2、当autocommit 为 0 时
      不管有没有START TRANSACTION。
      只有当commit数据才会生效,ROLLBACK后就会回滚。

    3、如果autocommit 为1 ,并且没有START TRANSACTION 。
      调用ROLLBACK是没有用的。即便设置了SAVEPOINT。


    END 2018-05-29 00:26:53

  • 相关阅读:
    28
    27
    26
    25
    24
    23
    17
    16
    15
    14
  • 原文地址:https://www.cnblogs.com/hider/p/9103051.html
Copyright © 2011-2022 走看看