mysql事务粒度


简洁说明:
由于现在面向框架开发,使用事务只需要在方法上添加 @Transactional注解,但是也需要注意不能随意使用。
例如:方法的执行逻辑中只有一句查询语句,或只有一句更新、插入,这种情况没有必要设置事务,若需要校验执行
结果,可以使用代码逻辑判断。即使出现异常,也只会影响上层逻辑,并不会造成其他业务不可用。
事务的思想也是要么全部执行,要么全部不执行。对事务的粒度控制要做到心中有数,避免死锁的情况发生。

对于增、删、改的数据库操作,再sql比较复杂情况也需要把控连表或子查询的执行效率,避免事务长时间占用锁等机制引发问题。

相关