返回顶部
首页 > 资讯 > 数据库 >InnoDB MVCC的工作原理是什么
  • 432
分享到

InnoDB MVCC的工作原理是什么

2024-04-02 19:04:59 432人浏览 八月长安
摘要

这篇文章给大家分享的是有关InnoDB mvcC的工作原理是什么的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。InnoDB 的 MVCC,是通过在每行记录后面保存两个隐藏的列实现

这篇文章给大家分享的是有关InnoDB mvcC的工作原理是什么的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。

InnoDB MVCC的工作原理是什么

InnoDB 的 MVCC,是通过在每行记录后面保存两个隐藏的列实现的。这两个列,一个保存了行的创建时间,一个保存行的过期时间(或删除时间)。当然存储的不是实际的时间值,而是系统版本号。每开始一个新的事务,系统版本号都会自动递增。事务开始时刻的系统版本号会作为事务的版本号,用来和查询到的每行记录的版本号进行比较,下面看可重复读隔离级别下,MVCC 具体是如何操作的。

SELECT

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

a. InnoDB只查找版本早于当前事务版本的数据行(也就是,行的系统版本号小于或者等于事务的系统版本号),这样可以确保事务读取的行,要么是在事务开始前已经存在的,要么是事务自身插入或者修改过的。

b. 行的删除版本要么未定义,要么大于当前事务版本号。这可以确保事务读取到的行,在事务开始之前未被删除。

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

INSERT

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

DELETE

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

UPDATE

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

保存这两个额外系统版本号,使大多数读操作都可以不用加。这样设计使得读数据操作很简单,性能很好,并且也能保证只会读取符合标准的行。不足之处是每行记录都需要额外的存储空间,需要做更多的行检查工作,及一些额外的维护工作。

MVCC只在 REPEATABLE READ(可重复读)和 READ COMMITTED(读提交) 这两个隔离级别下工作。其他两个隔离级别都和 MVCC不兼容,因为READ UNCOMMITTED(读未提交) 总是读取最新的数据行,而不是符合当前事务版本的数据行。而 SERIALIZABLE(串行化) 则会对所有读取的行都加锁。

感谢各位的阅读!关于InnoDB MVCC的工作原理是什么就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到吧!

您可能感兴趣的文档:

--结束END--

本文标题: InnoDB MVCC的工作原理是什么

本文链接: https://lsjlt.com/news/52359.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • InnoDB MVCC的工作原理是什么
    这篇文章给大家分享的是有关InnoDB MVCC的工作原理是什么的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。InnoDB 的 MVCC,是通过在每行记录后面保存两个隐藏的列实现...
    99+
    2024-04-02
  • MySQL InnoDB之MVCC原理是什么
    今天小编给大家分享一下MySQL InnoDB之MVCC原理是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面...
    99+
    2024-04-02
  • HashMap的工作原理是什么
    原理介绍如下:HashMap是基于Hash算法实现的。(在线学习视频教程分享:java视频教程)在使用put(key,value)方法时,HashMap会根据key.hashCode()方法得出key的hash值,然后根据hash值找到对应...
    99+
    2019-10-28
    java入门 HashMap
  • Git的工作原理是什么
    这篇文章主要讲解了“Git的工作原理是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Git的工作原理是什么”吧!本文图解Git中的最常用命令。如果你稍微理解Git的工作原理,这篇文章能够...
    99+
    2023-06-15
  • RabbitMQ的工作原理是什么
    这篇文章给大家介绍RabbitMQ的工作原理是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。RabbitMQ简介在介绍RabbitMQ之前实现要介绍一下MQ,MQ是什么?MQ全称是Message Queue,可以理...
    99+
    2023-06-19
  • docker的工作原理是什么
    Docker的工作原理主要涉及以下几个方面:1. 镜像(Image):Docker利用镜像来构建容器,镜像是一个只读的文件系统,包含...
    99+
    2023-09-27
    docker
  • ipsec的工作原理是什么
    IPSec(Internet Protocol Security)是一种用于保护网络通信安全的协议套件。它可以提供数据加密、数据完整...
    99+
    2023-10-10
    ipsec
  • NTPD的工作原理是什么
    今天小编给大家分享一下NTPD的工作原理是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。Network Time Pro...
    99+
    2023-06-28
  • puppet的工作原理是什么
    今天小编给大家分享一下puppet的工作原理是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。Puppet 的介绍什么是P...
    99+
    2023-06-28
  • Torrents的工作原理是什么
    本篇内容主要讲解“Torrents的工作原理是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Torrents的工作原理是什么”吧!Torrents 是如何工作的?假设 ‘...
    99+
    2023-06-27
  • fastdfs的工作原理是什么
    FastDFS(Fast Distributed File System)是一个开源的分布式文件系统,主要用于解决大规模数据存储和访...
    99+
    2023-10-24
    fastdfs
  • chatgpt的工作原理是什么
    chatgpt的工作原理是以电子邮件和电子传真方式为用户提供多媒体信息传输,利用一个基于网络的、安全的点对点通讯系统为用户进行多人的...
    99+
    2023-02-09
    chatgpt
  • MapReduce的工作原理是什么
    本篇文章为大家展示了MapReduce的工作原理是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。开始聊mapreduce,mapreduce是hadoop的计算框架,我学hadoop是从hive...
    99+
    2023-06-03
  • HDFS的工作原理是什么
    这篇文章将为大家详细讲解有关HDFS的工作原理是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。HDFS的工作原理HDFS支持在计算节点之间快速传输数据。在开始阶段,它与MapReduce紧密耦合——M...
    99+
    2023-06-05
  • Hadoop的工作原理是什么
    Hadoop的工作原理是基于分布式存储和计算的概念。Hadoop由两个核心组件组成:Hadoop分布式文件系统(HDFS)和MapR...
    99+
    2024-03-11
    Hadoop
  • prometheus的工作原理是什么
    Prometheus 是一种开源的监控系统,用于记录实时的指标数据。其工作原理主要包括以下几个步骤: 采集数据:Promethe...
    99+
    2024-03-12
    Prometheus
  • SpringMVC工作原理是什么
    这篇“SpringMVC工作原理是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Spr...
    99+
    2024-04-02
  • MyBatis工作原理是什么
    这篇文章主要为大家展示了“MyBatis工作原理是什么”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“MyBatis工作原理是什么”这篇文章吧。MyBatis 的...
    99+
    2024-04-02
  • Ajax工作原理是什么
    本篇内容主要讲解“Ajax工作原理是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Ajax工作原理是什么”吧!1、ajax技术的背景 不可否认,ajax技术...
    99+
    2024-04-02
  • Casbin工作原理是什么
    Casbin工作原理Casbin通过配置文件来对访问控制模型进行配置,将一个访问控制的模型划分为PERM 的一个文件,切换或升级项目的授权机制与修改配置一样简单,您可以通过组合可用的模型来定制您自己的访问控制模型。...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作