当前位置: 首页 > news >正文

黑苹果做网站开发无锡营销型网站建站

黑苹果做网站开发,无锡营销型网站建站,2880元网站建设,婚纱网站开发SueWakeup 个人主页:SueWakeup 系列专栏:学习技术栈 个性签名:保留赤子之心也许是种幸运吧 目录 本系列专栏 1. 什么是事务 2. 事务的特征 原子性(Atomicity) 一致性(Consistency) 隔离性&…
SueWakeup

                                                      个人主页:SueWakeup

                                                      系列专栏:学习技术栈

                                                      个性签名:保留赤子之心也许是种幸运吧

  

目录

本系列专栏

 1. 什么是事务

2. 事务的特征

原子性(Atomicity)

一致性(Consistency)

隔离性(Isolation)

持久性(Durability)

3. MySQL实现事务的步骤

3.1 关闭事务自动提交

3.2 开启一个事务,标记事务的起始点

3.3 向数据库提交事务

3.4 将事务回滚,所有数据库操作被取消

3.5 开启mysql自动提交

4. 数据库事务的实现原理

5. 什么是 MVCC?

6. 数据库并发事务,会带来哪些问题?

脏读

不可重复读

丢失修改

幻读

7. 不可重复读和幻读的区别

8. 事务的隔离级别

读未提交

读已提交

可重复读

可串行化

注:手机端浏览本文章可能会出现 “目录”无法有效展示的情况,请谅解,点击侧栏目录进行跳转   


本系列专栏

1.数据库排名

2.【MySQL】数据库开篇

3.【MySQL】索引篇

4.【MySQL】事务篇

5.【MySQL】锁篇


 1. 什么是事务

  • 事务是数据库的一种特性,用于确保一个执行过程中所有步骤全部成功或者全部失败,是数据库操作的最小执行单元

2. 事务的特征

原子性(Atomicity)

事务是数据库的最小执行单元,事务的原子性确保数据库操作过程中的所有步骤全部成功或者全部失败

一致性(Consistency)

数据修改前和修改后的状态保持一致

隔离性(Isolation)

一个事务的执行不会被其他事务干扰,一个事务内部的操作和使用的数据,在并发中对其他事务是隔离的

持久性(Durability)

事务一旦被提交,将对数据库中的数据的改变是永久性的


3. MySQL实现事务的步骤

3.1 关闭事务自动提交

set autocommit=0;

3.2 开启一个事务,标记事务的起始点

start transaction;

3.3 向数据库提交事务

commit;

3.4 将事务回滚,所有数据库操作被取消

rollback;

3.5 开启mysql自动提交

set autocommit=1;

4. 数据库事务的实现原理

  • MySQL InnoDB引擎使用 redo log(重做日志)保证事务的的持久性,使用 undo log(回滚日志)来保证事务的原子性
    • redo log 是 InnoDB存储引擎层的日志,又称重做日志文件,用于记录事务操作的变化,记录的是数据修改之后的值。当MySQL意外宕机,InnoDB存储引擎会使用 redo log恢复,以此来确保数据的持久性
    • undo log保存了事务发生之前的数据的一个版本,用于回滚
  • MySQL InnoDB引擎通过锁机制、MVCC(多版本并发控制)等手段保证事务的隔离性
  • 保证了事务的持久性、原子性、隔离性之后,一致性才能得到保障

5. 什么是 MVCC?

  1. MVCC是行级锁的一个变种,在很多情况下避免了加锁情况,开销更低。
  2. 大多数的MVCC都实现了非阻塞的读操作,写操作也只锁定必要的行;
  3. MVCC是一种用来解决 读-写冲突的并发控制,为事务分配单向增长的时间戳,为每个修改保存一个版本,每个事务都有一个对应版本的快照,快照版本按照单向增长的时间戳来决定先后顺序
  4. 读操作,只需要读该事务开始前的数据库快照,并不去读取正在修改的数据,仅读取事务开始前的最新版本

6. 数据库并发事务,会带来哪些问题?

脏读

一个事务正在访问数据并且对数据进行了修改,而修改操作还没提交到数据库中,这时另外一个事务也访问这个数据,然后使用这个数据。由于这个数据是没有提交的数据,那么另外一个事务读到的这个数据就是“脏数据”

不可重复读

一个事务内多次读同一个数据,在这个事务还没结束时,另外一个事务也访问该数据,在第一个事务中的两次读数据之间,由于第二个事务的修改导致第一个事务读取到的数据可能不一致,这就发生了在一个事务内两次读到的数据是不一致的情况,所以称为不可重复读

丢失修改

一个事务读取一个数据时,另外一个事务也访问这个数据,在第一个事务修改这个数据后,第二个事务也修改了这个数据导致第一个事务的修改丢失

幻读

与不可重复读类似,在第一个事务读取了几行数据,另一个事务插入了一些数据,在随后的查询中,第一个事务发现多了一些原本不存在的记录


7. 不可重复读和幻读的区别

  • 不可重复读的重点是修改,多次读取一条记录,发现其中某些列的值被修改
  • 幻读的重点在于新增或删除,比如多次读取某条件下的记录,发现记录增多或减少

8. 事务的隔离级别

读未提交

最低的隔离级别,允许读取尚未提交的数据变更,可能导致 脏读、幻读或不可重复读

读已提交

允许读取并发事务已经提交的数据,可以阻止脏读

可重复读

对同一字段的多次读取结果都是一致的,除非数据是被本身事务自己所修改,可以阻止脏读和不可重复读

可串行化

最高的隔离级别,完全服从 ACID 的隔离级别,所有的事务依次逐个执行,防止事务之间产生干扰,可阻止脏读、不可重复度以及幻读


http://www.ds6.com.cn/news/116109.html

相关文章:

  • 河南智慧团建官网网站搜索引擎优化
  • 淮北市矿业工程建设公司网站千锋教育培训机构可靠吗
  • 怎么用自己的网站做网页网站主页
  • 网站怎么做需要花钱吗发布新闻
  • dnf交易网站建设东莞建设企业网站
  • 嘉兴做营销型网站设计nba哈登最新消息
  • 本地做网站教程电商培训学校
  • 广东的网站建设班级优化大师手机版下载
  • 在百度上做网站推广效果怎么样百度竞价冷门产品
  • 互联网信息服务 网站备案广州品牌seo推广
  • 网站备案幕布关键词分析
  • 富阳网站建设seo搜索推广费用多少
  • 调查网站做调查不容易过昆明网络营销
  • 来必力wordpress搜索seo是什么意思
  • 网站开发工作需要什么专业网站top排行榜
  • 做网站的流程 优帮云百度seo优
  • 义乌做网站公司哪家好哈尔滨最新信息
  • 东莞seo推广运营服务百度惠生活怎么优化排名
  • 深圳网站建设公司信息深圳网站建设运营
  • 深圳网站建设制作品牌公司中国十大门户网站排行
  • 手机wap网站定位如何联系百度推广
  • 免费网站建设社区深圳抖音seo
  • 织梦做的网站怎么添加关键词搜索引擎营销的优缺点
  • 长春哪个做网站的公司比较靠谱seo公司杭州
  • 系统更新东莞搜索网络优化
  • 什么网站可以免费发布招聘信息seo教程自学
  • 那个做我女朋友的网站关键词优化排名用哪个软件比较好
  • wordpress调用指定文章图片seo搜索引擎优化知乎
  • 我要免费建立一个网站吗如何发布自己的广告
  • 定制高端网站建设报价百度网页排名怎么提升