长事务有哪些危害?行级锁长时间无法释放解决方法容易产生死锁解决方法 长事务有哪些危害?主要危害:锁无法释放 行级锁长时间无法释放,导致其他事务等待容易产生死锁MDL锁hold住大量事务,造成MySQL奔溃 行级锁长时间无法释放当前读会对数据行加锁,事务提交前无法提交 解决方法调整innodb_lock_wait_timeout参数 默认是50,即等待50秒还未获取锁,当前语句报错如果等待时间过长,可以适当缩短此参数 容易产生死锁 长事务的锁长时间不释放,容易与其他事务产生死锁死锁指的是两个事务都依赖对方的锁的释放 解决方法 主动死锁检测:innodb_deadlock_detect发现死锁时回滚代价较小的事务默认开启