mysql InnoDB 当前读和快照读_小洪帽i的博客-程序员宅基地_innodb当前读和快照读

技术标签: MySQL  mysql  

什么是MySQL InnoDB 下的当前读和快照读?



当前读

像 select … lock in share mode (共享锁),select … for update;update,insert,delete(排它锁)这些操作都是一种当前读,为什么叫当前读?就是它读取的是记录的最新版本,读取时还要保证其他并发事务不能修改当前记录,会对读取的记录进行加锁。


快照读

像不加锁的 select 操作就是快照读,即不加锁的非阻塞读;快照读的前提是隔离级别不是未提交读和串行化级别,因为未提交读总是读取最新的数据行,而不是符合当前事务版本的数据行。而串行化则会对所有读取的行都加锁。


优缺点

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

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_39408664/article/details/118928948

智能推荐

用Eclipse调试Node.js代码_赶路人儿的博客-程序员宅基地_eclipse调试js代码

1、在eclipse上安装v8插件: 1)Help>Install New Software ,在弹出的界面上点击Add,然后输入name和location两个信息,如下图:Name:随便取一个;location:http://chromedevtools.googlecode.com/svn/update/dev/注:安装的时候需要使用vpn,因为这里的地址是请求到了go

【考研高数-线性代数-强化】第四章 线性方程组(重点,别马虎大意)_刘鑫磊up的博客-程序员宅基地

【考研高数-线性代数-基础】第四章 线性方程组【重点】课本讲义:P82~P111一:网络结构网络图二:基本内容与重要结论1.基础知识2.主要定理三:典型例题1.基础解系2.解方程组Ax=b通用方程组求解: 1.已知方程组 同解变形(行变换)讨论参数 2.抽象方程组 秩、解的结构、推理分析一:齐次方程组Ax=0 n-r(A)线性无关的解向量、基础解系二:非齐次方程组Ax=b 有解判...

73.ORM聚合函数详解:Count_长大的小蚂蚁的博客-程序员宅基地

Count:用来求某个数据的个数。在以下所有的示例中所采用的模型为:from django.db import models# 定义作者模型class Author(models.Model): name = models.CharField(max_length=100, unique=True) age = models.IntegerField() ema...

ZUPT的相关初步理解_slam让我头疼的博客-程序员宅基地_zupt算法

参考至https://zhuanlan.zhihu.com/p/115529319零速修正(Zero Velocity Update, ZUPT)即,当载体处于静止状态时,载体此时的速度为零,利用载体中的惯性系统的解算速度作为系统速度误差的观测量,对其他误差量进行修正,改善静止状态下的组合导航结果,不需要增加外部传感器,因而是一种有效且廉价易实现的技术。零速修正一般方法利用卡尔曼滤波进行。当检测到载体处于静止状态时,利用SINS子系统解算的速度作为系统速度误差的观测量,进行卡尔曼滤波估计,利用更新后的

html5 css3d,HTML5/CSS3雀跃的3D字符串_weixin_39841572的博客-程序员宅基地

CSS语言:CSSSCSS确定html,body {width: 100%;height: 100%;background: #76b852;background: -webkit-linear-gradient(to left, #76b852, #8DC26F);background: -webkit-linear-gradient(right, #76b852, #8DC26F);backg...

mybatis plus查询方式_年少一去不复返的博客-程序员宅基地_mybatisplus查询

这两天学习了一下mybatis plus。简单总结了一下条件构造器使用的查询方式。官网: MyBatis-Plus /** * @param isDel 是否删除 */ void userUpdate(int isDel) { //普通查询 QueryWrapper<User> queryWrapper = new QueryWrapper<>();//条件构造器 queryWrapper.eq("isDel",

随便推点

MySQL 基础 ———— 视图的应用与总结_圣斗士Morty的博客-程序员宅基地

引言视图是一种虚拟表,和普通表的使用是一样的,视图的一大特点就是“临时性”,是通过表动态生成的数据,只保存SQL逻辑,不保存查询结果。视图在实际生产中主要有两种应用场景:1、多个地方用到同样的查询结果;2、该查询使用的SQL比较复杂。下面,我们来总结一下这个在开发中经常会用到的知识点。一、视图的优势首先,视图并不能提高SQL的性能,它的作用在于更好的组织数据。优势有以下...

Mirai实现QQ机器人_只是六号z的博客-程序员宅基地_mirai机器人

Mirai实现机器人Java实现QQ机器人教程1.拉取项目demo2.修改配置文件3.滑动窗口验证(1)配置JVM参数(2)启动项目(3)获取ticket①让手机和电脑连接②开启调试模式③进行滑动验证4.简单测试Java实现QQ机器人教程要想实现Java版的QQ机器人,其实并不难,今天就给大家分享一下使用Mirai框架制作简单的QQ机器人。1.拉取项目demo首先,Miari是一个开源的框架,我们可以从GitHub上拉取项目进行查看,但是GitHub需要使用加速插件才能很好的访问,所以在这里我们可以

在centOs 上搭建nginx来部署静态页面网站_weixin_34392435的博客-程序员宅基地

2019独角兽企业重金招聘Python工程师标准>>> ...

LibreOJ #2036. 「SHOI2015」自动刷题机_weixin_30302609的博客-程序员宅基地

#2036. 「SHOI2015」自动刷题机内存限制:256 MiB时间限制:1000 ms标准输入输出题目类型:传统评测方式:文本比较题目描述曾经发明了信号增幅仪的发明家 SHTSC 又公开了他的新发明:自动刷题机——一种可以自动 AC 题目的神秘装置。自动刷题机刷题的方式非常简单:首先会瞬间得出题目的正确做法,然后开始写程序。每秒,自动刷...

Elastic Stack系列之在基于docker的ELK上新增filebeat(二)_IT管道工的博客-程序员宅基地

上面一篇已经讲解了如何基于docker构建ELK环境。接下来记录一下,在ELK的基础上新增filebeat的方法。1、下载filebeat的软件包在这个例子中我们用的是目前filebeat的最新版本即7.4.2,下载地址为://download.csdn.net/download/yangqinfeng1121/11975165把filebeat放到要抽取日志的服务上,并解压开t...

android 搞通camera preview,android – 在SurfaceView加载Camera Preview时显示我的布局_岳意贺的博客-程序员宅基地

好吧,问题是我在xml布局中使用了SurfaceView.你打电话的那一刻:setContentView(your_layout) – > XML文件被夸大了.这意味着,SurfaceView也会膨胀.这再次意味着调用SurfaceView onSurfaceCreated方法,触发打开相机等.因此,整个过程需要一段时间,因此,您之前的Activity(例如,使用SurfaceView启动A...