1、尽量避免在循环中提交事务,因为每次提交都要写一次undo(重做)日志文件
2、在程序中控制事务的开始和结束,并记录每一步失败的原因
3、大数据量处理的长事务,尽量分多个事务完成,每个事务完成后记录处理的进度
4、同一个事务中千万不要混用非事务型表,否则回滚的话,非事务性表不会回滚,造成数据永久不一致
5、在不同的事务中,如果单个事务中有多个更新语句,尽量和其他事务中的更新顺序保持一致,可以有效避免死锁
6、事务中加减某个数量字段时,直接用update语句,不要拿出来再处理,否则并发下会造成少减少加
7、事务中的更新语句,一定要在where条件上使用索引,否则会造成整张表的排它锁
后续有遇到新的还会持续补充