AI智能
改变未来

Mysql事务的介绍


1.什么是事务?

事务是为了解决一组查询要么全部执行成功,要么全部执行失败。mysql事务默认是自动提交的模式。
2.事务的四大特性:
(1) 原子性(Atomicity):整个事务中的所有操作,要么全部完成,要么全部不完成,不可能停留在某个中间环节。事务在执行的过程中发生错误,会被回滚到事务开始前的状态,就像这个事务重来没有执行过一样。

(2)一致性(Consistency):事务执行前,执行后。数据库的状态应该是一致的。比如银行转账。转账前2个人总额和转账后2个人总额应该是一致的。

(3)隔离性(Isolation): 各个事务之间是并发执行的,互不干扰。

(4)持久性(Durability):事务一旦提交,对数据库所做的任何改变都要永久记录到存储器中。

2.Mysql中的四种隔离级别


(1)Read uncommitted (读未提交): 也叫脏读,就是事务可以读取其他事务未提交的数据。
(2) Read committed (读已提交):可以解决脏读的问题,就是在事务未提交之前所做的修改其它事务是不可见的。
(3) Repeatable read (可重复读):可以解决脏读和不可重复读的问题,保证同一个事务中多次查询的结果是一致的。比如一个事务一开始查询了一条记录然后过了几分钟又执行了相同的查询,保证两次查询的结果是相同的。(mysql默认级别)解释:在会计月度结账时,31号进行账单统计,账单每天都会变,过了几天再查看31号月度账单时 应还是之前算好账的。
(4)Serializable (串行化): 保证读取的范围内没有新数据的插入,比如事务第一次查询得到某个范围的数据,第二次查询也同样得到了相同范围的数据,中间没有新的数据插入到该范围中。强调数量上的变化。

隔离级别的特点:

级别1最低,级别4最高
隔离级别越高,性能越低,安全性越高

赞(0) 打赏
未经允许不得转载:爱站程序员基地 » Mysql事务的介绍