1.原子性: 顾名思义,就是一个事务中的sql操作是一个整体,就像一个原子无法分割,要么全部成功,要么全部失败.
2.隔离性: 并发数据库事务中,两个事务之间的影响.
脏读 不可重复读 幻读, 三种可能引发的问题,对应四种可以设置的隔离级别
- Read Uncommitted(读取未提交内容)
脏读 不可重复读 幻读 - Read Committed(读取已提交内容)
不可重复读 幻读 - Repeatable Read(可重读)
幻读 - Serializable(可串行化)
3.永久性:当事务提交成功之后,这种操作是永久行的,序列化到磁盘中的执行日志文件中.
4.一致性:这是数据库事务最重要的特征,解释起来比较拗口.
- 分为数据库操作系统一致性和业务一致性
- 简单的说数据库系统的事务一致性就是一个事务的开始到一个事务的结束,伴随着数据库从一个一致性状态到另一个一致性状态.一个事务执行期间的状态不应该被其他的事务感知到.由原子性和隔离性保证.永久性应该是保证的业务数据一致性.并没有保证数据库系统事务
- 业务的一致性:根据数据库的一致性和代码的控制,保证业务中的数据始终都是正确的.数据处于一种语义上的有意义且正确的状态