发布网友 发布时间:2022-04-23 08:35
共2个回答
热心网友 时间:2022-04-29 18:26
数据库事务的隔离级别有4种,由低到高分别为Read uncommitted 、Read committed 、Repeatable read 、Serializable 。而且,在事务的并发操作中可能会出现脏读,不可重复读,幻读。
1、Read uncommitted
读未提交,顾名思义,就是一个事务可以读取另一个未提交事务的数据。
2、Read committed
读提交,顾名思义,就是一个事务要等另一个事务提交后才能读取数据。
3、Repeatable read
重复读,就是在开始读取数据(事务开启)时,不再允许修改操作。
4、Serializable 序列化
Serializable 是最高的事务隔离级别,在该级别下,事务串行化顺序执行,可以避免脏读、不可重复读与幻读。但是这种事务隔离级别效率低下,比较耗数据库性能,一般不使用。
热心网友 时间:2022-04-29 19:44
在数据库操作中,为了有效保证并发读取数据的正确性,提出的事务隔离级别。
原子性: 事务作为一个整体被执行,包含在其中的对数据库的操作要么全部都执行,要么都不执行。
一致性: 指在事务开始之前和事务结束以后,数据不会被破坏,假如A账户给B账户转10块钱,不管成功与否,A和B的总金额是不变的。
隔离性: 多个事务并发访问时,事务之间是相互隔离的,一个事务不应该被其他事务干扰,多个并发事务之间要相互隔离。。
持久性: 表示事务完成提交后,该事务对数据库所作的操作更改,将持久地保存在数据库之中。
事务最经典也经常被拿出来说例子就是转账了。假如小明要给小红转账1000元,这个转账会涉及到两个关键操作就是:将小明的余额减少1000元,将小红的余额增加1000元。
万一在这两个操作之间突然出现错误比如银行系统崩溃,导致小明余额减少而小红的余额没有增加,这样就不对了。事务就是保证这两个关键操作要么都成功,要么都要失败。
参考资料来源:百度百科-事务隔离级别