事务的隔离级别是什么?

事务的隔离级别是什么?,第1张

数据库事务的隔离级别有4种,由低到高分别为Read uncommitted 、Read committed 、Repeatable read 、Serializable 。而且,在事务的并发 *** 作中可能会出现脏读,不可重复读,幻读。

1、Read uncommitted

读未提交,顾名思义,就是一个事务可以读取另一个未提交事务的数据

2、Read committed

读提交,顾名思义,就是一个事务要等另一个事务提交后才能读取数据。

3、Repeatable read

重复读,就是在开始读取数据(事务开启)时,不再允许修改 *** 作。

4、Serializable 序列化

Serializable 是最高的事务隔离级别,在该级别下,事务串行化顺序执行,可以避免脏读、不可重复读与幻读。但是这种事务隔离级别效率低下,比较耗数据库性能,一般不使用。

事务隔离级别可以理解为锁定正在被某个事务所占用的资源以减少其他事务对这些数据库资源的影响,保证数据的一致性。在多用户系统中,经常出现多个事务同时需要 *** 作某一个数据库中的数据的情况,为了防止事务之间的相互影响,提高数据库数据的安全性和完整性,数据库系统提供了隔离机制。

隔离级别就是一个事务必须和其他事务隔离的程度,包括未提交读(ReadUncommitted)、提交读(ReadCommitted)、可重复读(RepeatableRead)、可串行化(Serializable)四个级别。

1.未提交读未提交读是最低的事务隔离,仅保证不读取物理损坏的数据。

2.提交读提交读比未提交读隔离级别更高一层,提交读隔离级别是大多数主流数据库的默认隔离级别,其保证了一个事务不会读到另一个并行事务已修改但未提交的数据,避免了“脏读取”的情况发生。

3.可重复读可重复读保证了任何情况下,在同一个事务中前后数次所读取的数据是一致的,避免了“不可重复读取”的情况发生,是关系型数据库管理系统(MySQL)的默认隔离级别。

4.可串行化可串行化是最高的事务隔离等级,是将数据库中所有事务以串联的方式连接起来,防止一个事务影响其他事务。在此隔离级别,将没有并发事务。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/10040546.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存