事务:一个独立的逻辑工作单元。它有特定的一系列必须作为一个整体一起成功或者失败的SQL语句组成。是一个要么全有要么全无,很个性的一个东东。
事务的四大属性——ACID属性:原子性(atomicity)、一致性(consistency)、隔离性(isolation)、持久性(durability)
原子性:事务中的所有任务都必须执行,或者不执行。不存在部分事务。
一致性:事务将数据库从一个一致性状态带到另一个一致性状态。
隔离性:一个事务所带来的影响知道该事物提交之前对其他事务来说都是不可见得。
持久性:经过提交的事务所进行的修改是永久性的。
理解业务需求是设计一个好的事物的核心。除此之外还要注意以下几条规则:
1、每一个逻辑工作单元作为一个独立的事务来处理,不包含额外的工作。
2、确保数据在事务开始时是一致的,并且到事务完成的时候仍然是一致的。
3、按你的需要来占用资源。不能再事务中释放资源,这违背了ACID原则。
4、使用保存点来标记适合于事务中间进行回滚的特定SQL语句。
5、事务必须显式的提交或者回滚,不要依赖数据库的默认行为或某个开发工具来进行提交或回滚。因为默认行为可能会发生改变。
时间: 2024-11-05 11:44:47