标签:tab inno 引擎 2.3 多少 需要 一致性 严格 规则
前言:
因为没有多少时间和精力,目前无法深入研究数据库中的事务,比如
但是,对于事务的一些基本知识,还是需要牢牢掌握的,做到了解事务的基本常识,在实际开发中能够理解各个持久层框架对事务的处理
下面是百度百科的结果
在开发中对于一个业务逻辑需要对数据进行的一系列CRUD操作,这一系列操作,我们可以把它称为一个事务
这样理解事务就必须了解事务四大特性:原子性 、一致性、隔离性、持久性
在一个事务中对数据的所有操作,属于一个单元,不可分割,只有成功或者失败,不可能某个操作成功某个操作失败
事务前后,数据的一致性,在既定规则下的事务处理过程中,必须严格按照既定规则操作数据,不可破坏规则
维护数据的一致性任务应该由程序员来完成
比如数据修改前为 10.00 修改完后变成了 5.5 满足一致性应该为5.50(这是我自己的理解)
体现在并发事务情况下,多个事务互相隔离,互不影响
在正确提交事务后,对数据的修改将是永久性的
体现在并发事务中的读的操作
事务有四个隔离级别:READ-UNCOMMITTED 、 READ COMMITTED、 REPEATABLE READ 、 SERIALIZABLE
在事务A中读取到事务B修改了但是未提交的数据
解决了脏读,但是在事务A中可以读取到事务B提交后的数据(导致在事务A中多次执行相同的读的操作的结果不同)
解决了不可重复读,但是事务B在提交事务前后分别执行读相同操作读取数据,发现前后结果不一样,好像之前读到的数据是一个幻象
4.1:扁平事务(FLAT TRANSACTION)
4.2:带有保存点的扁平事务(FLAT TRANSACTION WITH SAVPOINTS)
4.3:链式事务(Chained TRANSACTION)
4.4:嵌套事务(Nested Transaction) InnoDB不支持
4.5:分布式事务(Distributed Transaction)
innoDB是MYSQL数据库的默认存储引擎,支持事务操作
本来想自己亲手测试一下,不同事务隔离级别对数据读取的影响,想想还是算了吧,了解了就可以了
MYSQL默认事务隔离级别是REPEATABLE READ---可重复读
标签:tab inno 引擎 2.3 多少 需要 一致性 严格 规则
原文地址:https://www.cnblogs.com/wdmlsx/p/9275904.html