MySQL——事务
1、事务的启动方式:
显式:
启动事务语句:begin 或者 start transaction
提交语句:commit
回滚语句:rollback
set autocommit=0 该命令意味着如果你只执行一个select语句 也会开启事务,并且不会自动提交事务
该事务会持续存在知道你主动执行commit 或者rollback(断开连接除外)。
set commit=0 存在问题 即:长连接时造成的长事务
个人建议使用set autocommit=1 然后通过以上显式语句来处理事务。
如何查看 表中是否存在长事务的操作,执行以下SQL语句
select * from information_schema.innodb_trx where TIME_TO_SEC(timediff(now(),trx_started))>长事务的时间单位为s
例如:查找持续时间超过30s的事务。
select * from information_schema.innodb_trx where TIME_TO_SEC(timediff(now(),trx_started))>30