| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> MySQl的事务处理机制 -> 正文阅读 |
|
[大数据]MySQl的事务处理机制 |
一. 什么是事务?1.事务的定义 事务(Transaction)就是用户定义的一系列数据库操作,这些操作可以视为一个完成的逻辑处理工作单元,要么全部执行,要么全部不执行,是不可分割的工作单元。 二.事务的使用(a)begin transaction表示事务的开启标记。 (b)commit表示事务的提交操作,表示该事务的结束,此时将事务中处理的数据刷到磁盘中(物理数据库磁盘中去)。 (c)rollback表示事务的回滚操作,表示事务异常结束,此时将事务中已经执行的操撤销回原来的状态。 三.事务产生的过程:DBMS系统必须对这种并发操作提供一种相应的处理机制来保证,访问彼此之间不受任何干扰,从而保证数据库的正确性不受到破坏,为了避免数据库的不一致性,这种处理机制称之为“并发控制”,其中事务就是为了保证数据的一致性而产生的一种概念和手段(事务不是唯一手段)。 四.事务的特征:为了保证数据库的正确性与一致性事物具有四个特征 1、原子性(Atomicity) 事务的原子性保证事务中包含的一组更新操作是原子的,不可分割的,不可分割是事务最小的工作单位,所包含的操作被视为一个整体,执行过程中遵循“要么全部执行,要不都不执行”,不存在一半执行,一半未执行的情况。 2、一致性(Consistency) 事务的一致性要求事务必须满足数据库的完整性约束,且事务执行完毕后会将数据库由一个一致性的状态变为另一个一致性的状态。事务的一致性与原子性是密不可分的。 3、隔离性(lsolation) 事务的隔离性要求事务之间是彼此独立的,隔离的。及一个事务的执行不可以被其他事务干扰。具体到操作是指一个事务的操作必须在一个事务commit之后才可以进行操作。多事务并发执行时,相当于将并发事务变成串行事务,顺序执行,如同串行调度般的执行事务。 4、持续性(Durability) 事物的持续性也称持久性,是指一个事务一旦提交,它对数据库的改变将是永久性的,因为数据刷进了物理磁盘了,其他操作将不会对它产生任何影响。 五.并发事务产生的问题脏读:—个事务读到其他事务未提交的数据。 不可重复读:多次读取相同的数据,得到的结果集不一致,即读到其他事务提交后的数据。 幻读:相同的查询条件,多次读取的结果不一致,即读到其他事务提交后的数据。 不可重复读与幻读的区别是:不可重复读是读到了其他事务执行update、delete后的数据,而幻读是读到其他事务执行insert后的数据。 六.事务的隔离级别(1)Read UnCommitted(读未提交)∶读到其他事务未提交的数据,会出现脏读、不可重复读、幻读。 (2)Read Committed(读已提交)∶读到其他事务已提交的数据,解决了脏读,会出现不可重复读、幻读。 (3)Repeatable Read(可重复读):相同的数据,多次读取到的结果集一致。解决了不可重复读,还是会出现幻读。 (4)Serializable(串行化):所有事务串行执行,解决了幻读。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 10:42:56- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |