交易 Transaction
Database 最佳化: 交易 Transaction
Categories:
控制InnoDB Transaction
关闭自动提交:
SET autocommit=0;
开启自动提交:
SET autocommit=1;
在 MySQL InnoDB 预设所有的资料异动都是 Transaction(交易)
,当与资料库做连线的时候,InnoDB 会採用自动提交(autocommit)
的方式,所以除非使用 BEGIN;
及 COMMIT;
将异动语法包复起来设定为同一个 Transaction,否则任何一个资料异动的语法(INSERT、DELETE、UPDATE)会认为是一个独立的 Transaction。
所以资料表每次做资料异动的时候会一直提交 (COMMIT)
去更新日誌,若有 1000笔 独立的SQL要执行就会被 COMMIT 1000 次,所以在下异动语法之前,可以使用指令 SET autocommit=0;
关闭自动提交,等异动完成后,再使用指令 SET autocommit=1;
开启自动提交。
SET autocommit=0;
异动(INSERT、DELETE、UPDATE)大量资料SQL语法
SET autocommit=1;