| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> 数据库事务总结 -> 正文阅读 |
|
[大数据]数据库事务总结 |
1.事务简介事务:简短来说就是一组操作要么全部完成,要不全部不完成。不存在只执行一部分的操作。 事务回滚:当一个事务执行过程中发生了异常、错误,则回到没有执行事务之前的状态。 事务提交:当一个事务执行过程了没有发生任何异常,错误,这时我们就要保存这个事务的修改。 2.事务的四大特性1.原子性 整体 【原子性是指事务包含的所有操作要么全部成功,要么全部失败】 ? 2. 数据 【事务提交后的状态合集称为一致,也就是数据库只包含事务提交的状态】
并发 【对于任意两个并发的事务A和B,在事务A看来,B要么在A开始之前就已经结束,要么在A结束之后才开始,这样每个事务都感觉不到有其他事务在并发地执行。】
结果 【持久性是指一个事务一旦提交了,就保存到硬盘上,对数据库中的数据的改变就是永久性的】 3.事务隔离问题由于事务可包含多个操作,在多个客户端并发访问过程,可能会发生一个事务只做了一部分操作,此时另外一个事务也开始执行,那么前一个事务的只执行部分操作的中间状态会给第二个事务造成影响。
事务B读看到事务A没有提交的内容,比如对A、B账户的修改。 ②、 此级别解决了 ③、 此级别解决了 ④、 4.事务锁为了解决事务隔离性问题,引入锁的概念, 只 有 拿 到 锁 的 事 务 才 可 对 数 据 库 进 行 读 写 操 作 \color{red}只有拿到锁的事务才可对数据库进行读写操作 只有拿到锁的事务才可对数据库进行读写操作。事务有两种锁,并且有相应的权限。 如果某个事务A拿到了读锁,其它事务可以拿到读锁(共享),但是无法获取写锁。 所谓锁的粒度,就是锁的范围,比如如果锁的范围是一张表,则事务A获取写锁后,只能事务A进行读、写,其他事务全部要靠边站。 一般情况下,锁的粒度越小(锁的范围小),则并发问题解决越好(事务都是并发执行),但是效率越低,因为需要大量的资源来确保各个事务的锁的粒度没有交集、冲突。 锁的粒度越大(锁的范围大),则并发问题解决越差(其他事务都在等待),但是效率较高,因为不要资源来控制各个事务的锁粒度交集问题。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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/24 10:39:26- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |