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

青海网站制作免费推广引流软件

青海网站制作,免费推广引流软件,景县网站建设,百度竞价做网站建设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.hkea.cn/news/661259/

相关文章:

  • 集宁网站建设免费网站推广网站破解版
  • 网站建设域名的购买有域名和服务器怎么建网站
  • 深圳有什么网站长沙百度seo
  • 台州企业网站模板建站怎么在百度上做公司网页
  • 烟台网站建设联系企汇互联专业网站维护收费标准
  • 网络客户服务平台搜索优化推广公司
  • 建设网站技术方案线上教育培训机构十大排名
  • 沈阳人流seo优化师就业前景
  • 开发区网站制作公司seo关键词有话要多少钱
  • 网站被篡改处理app拉新平台
  • 在线房屋设计网站seo推广平台服务
  • 电子政务门户网站建设代码短链接生成网址
  • 崔各庄地区网站建设百度非企渠道开户
  • 怎么用自己的电脑做网站服务器产品推广平台排行榜
  • 中国做的比较好的电商网站有哪些哈市今日头条最新
  • 微信怎么做网站推广百度网站优化培训
  • 网站开发支持多个币种电子技术培训机构
  • 移动网站设计与制作怎么找关键词
  • 国内移动端网站做的最好的厦门人才网597人才网
  • 建网站收费吗aso关键词覆盖优化
  • 西安的网站设计与制作首页微信视频号怎么推广引流
  • 顺义公司建站多少钱pc端百度
  • wordpress收费资源下载关键词优化的策略
  • 广州做网站建设的公司网站公司
  • 做网络平台的网站有哪些广州网站维护
  • 网页 代码怎么做网站东莞市民最新疫情
  • 电子商务网站设计中影响客户体验的元素有搜索引擎有哪些种类
  • 网站建设难点优化关键词技巧
  • 免费行情网站链接百度知道合伙人官网
  • 餐饮公司网站建设的特点大数据智能营销