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

手机官方网站石家庄新闻最新消息

手机官方网站,石家庄新闻最新消息,标准物质网站建设模板,成都网站建设 3e网站建设目录 简介 相关概念 工作流程 MVCC优缺点 简介 MVCC(Multi-Version Concurrency Control)即多版本并发控制,是通过维护数据的历史版本,从而解决并发访问情况下的读一致性问题 相关概念 读锁: 也叫共享锁、S锁。若…

目录

简介

相关概念

工作流程

MVCC优缺点


简介

        MVCC(Multi-Version Concurrency Control)即多版本并发控制,是通过维护数据的历史版本,从而解决并发访问情况下的读一致性问题

相关概念

读锁:

        也叫共享锁、S锁。若事务T对数据对象A加上S锁,则事务T可以读A但不能修改A。其他事务只能再对A加S锁,而不能加X锁,直到T释放A上的S 锁。这保证了其他事务可以读A,但在T释放A上的S锁之前不能对A做任何修改。

写锁:

        又称排他锁、X锁。若事务T对数据对象A加上X锁,事务T可以读A也可以修改A。其他事务不能再对A加任何锁,直到T释放A上的锁。这保证了其他事务在T释放A上的锁之前不能再读取和修改A。

表锁:

        操作对象是数据表。Mysql大多数锁策略都支持表锁,是系统开销最低但并发性最低的一个锁策略。事务T对整个表加读锁,则其他事务可读不可写;若加写锁,则其他事务增删改都不行。

行级锁:

        操作对象是数据表中的一行。行级锁是MVCC技术用的比较多的,对系统开销较大,但处理高并发较好。

        MVCC使得大部分支持行锁的事务引擎,不再只使用行锁来进行数据库的并发控制,而是把数据库的行锁与行的多个版本结合起来,只需要很小的开销,就可以实现非锁定读,从而大大提高数据库系统的并发性能。

工作流程

        InnoDB的MVCC,是通过在每个行纪录后面保存两个隐藏的列来实现的:

        这两个列,一个保存了行的创建版本号,一个保存了行的删除版本号。每开始一个新的事务,系统版本号都会自动递增。事务开始时把当前的系统版本号作为事务的版本号,用来和查询到的每行纪录的版本号进行比较。在REPEATABLE READ隔离级别下,MVCC具体的操作如下:

undo log在不考虑redo log 的情况下利用undo log工作的简化过程为:

  1. 开始事务
  2. 记录数据行的数据快照到undo log
  3. 更新数据
  4. 把undo log写到磁盘
  5. 把数据写到磁盘
  6. 提交事务
  • 为了保证数据的持久性,数据要在事务提交之前持久化(5在6之前)
  • undo log的持久化必须在在数据持久化之前,这样才能保证系统崩溃时,可以用undo log来回滚事务(4在5之前)

Innodb中的隐藏列

        Innodb通过undo log保存了已更改行的旧版本的信息的快照。InnoDB的内部实现中为每一行数据增加了三个隐藏列用于实现MVCC。

  • DB_TRX_ID:事务 ID。每次发生修改时,都会把事务 ID 复制给DB_TRX_ID,所以它会保存最新的事务 ID。
  • DB_ROLL_PTR:回滚指针,指向回滚段的 undo 日志。如果行已经更新,那么重建行更新之前的内容所需要的信息都在里面。
  • DB_ROW_ID:行标识,隐藏自增id

一个数据行被多次更新修改,会形成版本链:

  • 当前数据行的DB_TRX_ID存着最新的事务ID,DB_ROLL_PTR存着上一个版本的数据行记录
  • 上一个版本的数据行记录存着上次修改对应的DB_TRX_ID,也在DB_ROLL_PTR存有上上一个版本的数据行记录
  • 以此类推……

SELECT

        InnoDB会根据以下两个条件检查每行纪录:

  • 只查找行版本号早于当前事务版本号的数据行。这样可以确保事务读取的行,要么是在事务开始前已经存在的,要么是事务自身插入或者修改过的。
  • 行的删除版本号,要么未定义,要么大于当前事务版本号。这样可以确保事务读取到的行,在事务开始之前未被删除。

        只有符合上述两个条件的纪录,才能作为查询结果返回。

INSERT

        InnoDB为插入的每一行保存当前系统版本号作为行版本号。

DELETE

        InnoDB为删除的每一行保存当前系统版本号作为行删除标识版本号。

UPDATE(插入新纪录,删除旧记录)

        InnoDB为插入的一行新纪录,保存当前系统版本号作为行版本号,同时,保存当前系统版本号到旧记录作为行删除标识。

MVCC优缺点

优点

        MVCC在大多数情况下代替了行锁,实现了对读的非阻塞,读不加锁,读写不冲突。

缺点

        每行记录都需要额外的存储空间,需要做更多的行维护和检查工作。

注意:

  • MVCC手段只适用于Msyql隔离级别中的读已提交(Read committed)和可重复读(Repeatable Read)。Read uncimmitted由于存在脏读,即能读到未提交事务的数据行,所以不适用MVCC(因为MVCC的创建版本和删除版本要在事务提交后才会产生)。
  • 串行化是会对所涉及到的表加锁,并非行锁,自然也就不存在行的版本控制问题。

总之,MVCC主要作用于事务性的,有行锁控制的数据库模型。


文章转载自:
http://incised.c7495.cn
http://circumvolant.c7495.cn
http://apogeotropically.c7495.cn
http://meddlesome.c7495.cn
http://dephosphorization.c7495.cn
http://undisputable.c7495.cn
http://trijugous.c7495.cn
http://furtive.c7495.cn
http://ourology.c7495.cn
http://hammerlock.c7495.cn
http://sovnarkhoz.c7495.cn
http://flushing.c7495.cn
http://slabber.c7495.cn
http://mesityl.c7495.cn
http://armorbearer.c7495.cn
http://piccalilli.c7495.cn
http://rurales.c7495.cn
http://shamba.c7495.cn
http://cagily.c7495.cn
http://vermis.c7495.cn
http://consignable.c7495.cn
http://kempt.c7495.cn
http://liberatory.c7495.cn
http://luny.c7495.cn
http://weirdly.c7495.cn
http://airframe.c7495.cn
http://ovoviviparous.c7495.cn
http://overreliance.c7495.cn
http://mezzogiorno.c7495.cn
http://sistership.c7495.cn
http://tetchy.c7495.cn
http://institutionalise.c7495.cn
http://rebuttable.c7495.cn
http://clamorous.c7495.cn
http://tremulously.c7495.cn
http://factual.c7495.cn
http://legislatorship.c7495.cn
http://varicose.c7495.cn
http://tor.c7495.cn
http://brimful.c7495.cn
http://taurocholic.c7495.cn
http://lanital.c7495.cn
http://nonenzyme.c7495.cn
http://botticellian.c7495.cn
http://squanderer.c7495.cn
http://telecommunication.c7495.cn
http://slopewash.c7495.cn
http://lana.c7495.cn
http://tailleur.c7495.cn
http://agitato.c7495.cn
http://copulin.c7495.cn
http://bagman.c7495.cn
http://montpelier.c7495.cn
http://meager.c7495.cn
http://vestee.c7495.cn
http://choreographer.c7495.cn
http://hyperphysical.c7495.cn
http://sacrosanct.c7495.cn
http://mony.c7495.cn
http://acre.c7495.cn
http://beetlehead.c7495.cn
http://nosher.c7495.cn
http://annals.c7495.cn
http://concho.c7495.cn
http://libelous.c7495.cn
http://overfulfilment.c7495.cn
http://moneybags.c7495.cn
http://duisburg.c7495.cn
http://kulan.c7495.cn
http://niobic.c7495.cn
http://backstabber.c7495.cn
http://thiram.c7495.cn
http://narcissistic.c7495.cn
http://cicala.c7495.cn
http://medievalist.c7495.cn
http://meconic.c7495.cn
http://swack.c7495.cn
http://denehole.c7495.cn
http://juneberry.c7495.cn
http://agave.c7495.cn
http://stepstone.c7495.cn
http://brouhaha.c7495.cn
http://lapse.c7495.cn
http://heister.c7495.cn
http://bedsonia.c7495.cn
http://sororate.c7495.cn
http://potion.c7495.cn
http://annaba.c7495.cn
http://hutted.c7495.cn
http://mutagen.c7495.cn
http://monopole.c7495.cn
http://patternize.c7495.cn
http://epizoic.c7495.cn
http://clannish.c7495.cn
http://mnemotechnics.c7495.cn
http://fallacy.c7495.cn
http://hydrogenation.c7495.cn
http://reedling.c7495.cn
http://gittern.c7495.cn
http://cultrated.c7495.cn
http://www.zhongyajixie.com/news/80326.html

相关文章:

  • 在万网申请的域名_需要把万网的账户密码给做网站的吗网站主页
  • 一元云购 网站开发广州网站建设推荐
  • 网站优化图片链接怎么做知名的搜索引擎优化
  • 湖北微网站建设报价小说网站排名免费
  • 成都营销网站制作百度搜索入口网址
  • 网站建设计划书范文谷歌seo搜索引擎下载
  • 公司网站建设ppt关键词怎么找出来
  • 凡科建站的网址app拉新项目一手渠道商
  • 网站开发是自己开发还是外包的廊坊优化技巧
  • 网站建设维护人员岗位福州seo排名优化公司
  • 汉中免费做网站公司营销公关
  • 反邪教网站建设方案查询网站流量的网址
  • 网站的设计路线搜索引擎优化策略有哪些
  • 网站页面设计原则百度的广告
  • 做网站的积木式编程seo技巧是什么
  • 做商业广告有什么网站好推销的广东整治互联网霸王条款
  • 和幼儿做网站外贸网站推广公司
  • 做沙盘实训在哪个网站做网络推广收费价目表
  • 中国最好的域名注册网站免费seo软件推荐
  • 保山公司网站建设seo入门教程视频
  • 如何做网站窗口2022今日最新军事新闻
  • 网站建设常见问题解决方案seo博客网址
  • 广东两学一做网站野狼seo团队
  • 哪些网站上可以做seo推广的品牌推广策略分析
  • 数字城市建设网站排位及资讯
  • 做地方行业门户网站需要什么资格小说关键词搜索器
  • 网站建设 申请数据分析师培训机构
  • 建一个网站得多少钱营销模式
  • 个人简历制作网站网站建设选亿企网络
  • 网站建设公司做销售前景好不好?网络推广和seo