首页 > 编程知识 正文

事务的特性和隔离级别,事务的隔离级别不包括

时间:2023-05-03 21:22:51 阅读:186800 作者:2039

在事务Mysql中,事务可以是一组原子sql查询或独立的工作单元。

事务具有四个特性:原子性、一致性、隔离性、持续性

原子对于一个事务来说,不是所有提交都成功,就是所有回滚都失败,而且不会只执行其中的一部分。

一致性意味着数据库在执行事务之前和之后都必须保持一致。 这意味着执行事务的结果必须将数据库从一个一致状态迁移到另一个一致状态。

隔离性:隔离性在并发环境中最常见,并发事务相互隔离,一个事务的执行不能被其他事务干扰。 这意味着,如果不同的事务同时处理同一数据,则每个事务都有自己的完整数据空间。 这意味着一个事务中的操作和使用的数据与其他并发事务分离,并且不能在同时执行的事务之间相互干扰。

持久性:提交事务后,更改将永久保存在数据库中。 如果发生故障(如系统崩溃或机器故障),修改的数据不会丢失。

隔离级别1 .未提交的读取:在此隔离级别,事务可以读取未提交的数据。 也称为脏读。

2 .提交读取:只允许读取提交的数据

3 .可重复读取:此隔离级别确保在同一事务中多次读取相同数据的结果一致,但会出现一种称为幻读现象的现象。幻读是指一个事务读取某个范围内的数据时,另一个事务在该范围内插入新记录,上一个事务再次读取时发生幻行。 也就是说,结果不一致。

4 .序列化:他不能以最高隔离级别,强制串行执行事务,一个个同时执行事务。 因为他会锁定每行的数据,所以会引起大量超时和锁定冲突的问题。

mysql默认使用重复读取级别。 这是因为防止脏读,同时性也高,但是会发生幻读现象。 但是,这个问题可以通过乐观锁定和悲观锁定来控制。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。