mysql 提交事务_MySQL事务提交过程

2023-10-28

一、MySQL事务提交过程(一)

MySQL作为一种关系型数据库,已被广泛应用到互联网中的诸多项目中。今天我们来讨论下事务的提交过程。

8aec176f0d6250507fb832951a30020a.png

由于mysql插件式存储架构,导致开启binlog后,事务提交实质是二阶段提交,通过两阶段提交,来保证存储引擎和二进制日志的一致。

此目录节点只讨论binlog未打卡状态下的提交流程,后续会讨论打开binlog选项后的提交逻辑。

测试环境

OS:WIN7

ENGINE:

7dc91919327c015611e9d966389fc0c3.png

bin-log:off

3ffe4868274c8af47e225b9935b0a0cc.png

DB:

bdeeb837bac4c6e1aeb7061309685517.png

测试条件

set autocommit=0;

------------------------------

--Table structure for `user`

------------------------------

DROP TABLE IF EXISTS `user`;CREATE TABLE `user` (

`id`int(20) NOT NULL,

`account`varchar(20) NOT NULL,

`name`varchar(20) NOT NULL,PRIMARY KEY(`id`),KEY`id` (`id`) USING BTREE,KEY`name` (`name`) USING BTREE

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

测试语句

insert into user values(1, 'sanzhang', '张三');

commit;

一般常用的DML:Data Manipulation Language 数据操纵语言,对表的数据进行操作,(insert、update、delete )语句

和 DCL:Data Control Language 数据库控制语言(创建用户、删除用户、授权、取消授权)语句

和 DDL:Data Definition Language 数据库定义语言,对数据库内部的对象进行创建、删除、修改的操语句,

均是使用MySQL提供的公共接口mysql_execute_command,来执行相应的SQL语句。我们来分析下mysql_execute_command接口执行的流程:

mysql_execute_command

{

switch (command)

{caseSQLCOM_INSERT:

mysql_insert();break;caseSQLCOM_UPDATE:

mysql

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

mysql 提交事务_MySQL事务提交过程 的相关文章

  • (基础)选择器的语法

    1 什么是选择器 CSS选择器是CSS规则的第一部分 每个CSS规则都以一个选择器或一组选择器为开始 CSS 选择器即用于 查找 或选取 要设置样式的 HTML 元素的模式 选择器可以分为基础选择器 复合选择器 2 基本选择器 1 通配 通
  • SpringBoot应用程序的打包和部署 [学习笔记]

    传统Web应用打包部署时 通常会用War包的形式 然后将War包部署到Tomcat等服务器中 而Spring Boot应用是嵌入式Servlet容器 默认以Jar包形式进行打包部署的 而如果想要使用传统的War包形式打包部署 需要进行配置
  • WebKit中RefPtr和PassRefPtr的使用

    历史 WebKit中的许多对象是引用计数的 reference counted 采用的模式就是类具有ref和deref成员函数增加和减少引用计数 每个ref调用必须有一个deref与之匹配 当在引用计数值为1的对象上调用deref方法时 对
  • OSX 中为php安装 apc 扩展

    php中安装apc扩展 AndyMacBookPro log andy pecl install apc downloading APC 3 1 13 tgz Starting to download APC 3 1 13 tgz 171
  • Linux-docker下载docker-compose很慢、太慢、中断解决办法

    出现下一部分就断开的问题时 直接去github上下载后 传到虚机上 改个名字就可以 下载地址 https github com docker compose releases tag v2 2 2 2 2 2是对应版本 可修改 一般都是红框
  • RPA Uipath学习心得

    由于工作中存在大量繁琐的流程化事项 因此采用傻瓜机器人Uipath在后台处理 使得有更多时间去做创造性的工作 1 官网下载安装及教程 https www uipath com 2 基本操作步骤 首先是创建程序 然后调试运行 检查发布即可 3
  • MySQL全连接查询

    mysql没有全连接 但我们可以通过以下两种方式实现 1 使用union和left join实现全连接 select xxx 查询字段 from table1 left join table2 on xxx 连接条件 下同 where xx
  • LinuxMint上硬盘重装LinuxMint(理论上ubuntu也行)

    主要思路是通过修改引导程序 grub2 的配置文件 boot grub grub cfg 使计算机开机后引导硬盘中存放的系统镜像文件 iso 步骤 1 将下载好的系统镜像文件放入硬盘中一个不会被格式化的分区中 为了方便我直接放在了sda1的
  • C语言可以开发哪些项目?

    C语言是我们大多数人的编程入门语言 对其也再熟悉不过了 不过很多初学者在学习的过程中难免会出现迷茫 比如 不知道C语言可以开发哪些项目 可以应用在哪些实际的开发中 这些迷茫也导致了我们在学习的过程中不知道如何学 学什么 所以 总结这个列表
  • treeSelect节点搜索

    antd中treeSelect的filterTreeNode用法 节点搜索 以下图为例 树形搜索展开后 有以下几个选项 如果我想要搜索其中 产品中心 那直接搜索关键词 产品 即可 我搜索后并未显示我想要的结果 而是为空 这就需要用到 fil
  • 总结JS 常用函数

    希望本文总结的内容能给各位看官带来焕然一新的感觉 另外 如果你们有什么值得推荐的js技巧 欢迎在评论中补充 我可以收纳在本文中 PS 此文档会持续新增内容 Ajax请求 jquery ajax函数 我自己封装了一个ajax的函数 代码如下
  • sudo 之后 unable to resolve host的问题解决办法

    gedit etc hosts 127 0 0 1 localhost 127 0 0 1 Masterback或者其他 把后面的Masterback 或者其他改成新的主机名 应该是最近修改过主机名 也就是用户名 后面的部分
  • _WIN32和_WIN64区别

    WIN32 是一个预定义的宏 用于判断当前编译环境是否为 Windows 操作系统 当使用 MSVC 编译器编译 Windows 应用程序时 无论是 32 位还是 64 位的 Windows 环境 WIN32 宏都会被定义 你可以使用条件编
  • 蓝桥杯2021年第十二届国赛真题-和与乘积

    题目描述 给定一个数列 A a1 a2 an 问有多少个区间 L R 满足区间内元素的乘积等于他们的和 即 aL aL 1 aR aL aL 1 aR 输入格式 输入第一行包含一个整数 n 表示数列的长度 第二行包含 n 个整数 依次表示数
  • SetTimer在无窗口和有窗口线程的使用 .

    今天犯了一个粗心的错误 在无窗口线程中 SetTimer中设置计时器ID 而WM TIMER消息响应函数中得到的计时器ID却不是之前设置的计时器ID 111902 cpp Defines the entry point for the co
  • Prepo —— 图标转化器

    Prepo for mac是Mac os平台上的一款非常不错的Mac图像处理软件 Prepo for mac基于Mac和iOS的一款免费且方便的图标转化器 它可以帮助设计师快速的导出各种尺寸的图标 设计师通过Prepo把任何格式的图片文件转
  • img引入的svg图片,悬浮时怎么修改颜色?

    实现效果 鼠标悬浮在这一行 让这行的文字和svg图片颜色发生变化 因为是用 img标签引入页面 使用fill属性是无效的 css核心代码 active hover transform scale 0 98 img filter drop s
  • Transaction silently rolled back because it has been marked as rollback-only Spring事务嵌套问题

    Transaction silently rolled back because it has been marked as rollback only Spring 事务嵌套问题 添加命令 catch中添加 TransactionAspe
  • Springboot升级到2.x后gridFsTemplate.findOne(query)返回类型由GridFSDBFile改为GridFSFile导致的问题

    问题描述 gridFsTemplate findOne query 返回类型由GridFSDBFile改为GridFSFile导致的问题 文件下载时下面的代码不可用 GridFSDBFile gridFSDBFile new GridFSD

随机推荐

  • java.lang.NoClassDefFoundError: javax/servlet/ServletContext(可能报错原因,不可盖全)

    例如一下jar包版本低 提高版本即可 version 5 0 5RELEASE
  • ArcGIS中统计渔网中栅格人口密度

    文章目录 前言 一 人口数据获取 来源一 中科院地理所公开数据集 来源二 WorldPop数据集 二 人口格网统计步骤 1 创建渔网 2 人口数据处理 2 1 栅格转点 2 2 空间插值 处理人口缺失数据 2 3 空间连接 渔网人口统计 总
  • IGBT简介、结构及原理

    所谓IGBT 绝缘栅双极型晶体管 是由 BJT 双极结型晶体三极管 和 MOS 绝缘栅型场效应管 组成的复合全控型 电压驱动式 功率半导体器件 其具有自关断的特征 简单讲 是一个非通即断的开关 IGBT没有放大电压的功能 导通时可以看做导线
  • ubuntu 安装微信(wechat)

    软件介绍 Wine Wine Is Not an Emulator Wine不是一个模拟器 的缩写 是一个能够在多种 POSIX compliant 操作系统 诸如 Linux Mac OSX 及 BSD 等 上运行 Windows 应用的
  • java动态上传图片_Java实现图片文件上传

    Java实现后台图片上传 将上传图片的接口进行分层 便于维护接口 接口部分 interface 将接口分为单图片上传以及多图片上传 public interface FileUploadService 单图片上传 PicUploadResu
  • 服务器装win10性能怎样,Win10 藏着不给人看的卓越性能模式到底对电脑有什么影响?...

    未来Win10的功能与稳定性趋于完善 其流行趋势会越来越大 许多游戏玩家选择也会选择 Win10 其独有的游戏模式与Xbox游戏录制功能也是对游戏的一大支持所在 今天小编就带大家来简单测试一下Win10 的卓越性能模式对游戏以及电脑性能的影
  • DispatcherServlet最全详解

    文章目录 DispatcherServlet最全详解 DispatcherServlet族谱 一 语言总结 1 DispatcherServlet初始化 2 DispatcherServlet调用组建处理请求 二 DispatcherSer
  • 六、SpringSecurity实现动态权限控制

    前面已经实现了登陆 即认证 下面是登陆之后的鉴权 即某些角色只能访问特定的资源 auther Mr Liao date 2019 8 20 20 24 Component public class MySecurityMetadataSou
  • QT—QList与QLinkedList类的常用方法

    QList
  • C高级DAY4

    作业一 使用shell中的while打印99乘法表 实在没有思路 先写C语言的出来 照着改 bin bash i 1 while i le 9 do j 1 while j le i do num i j echo n i j num j
  • iconify的使用

    如何在vue中使用iconify组件 参考链接 图标 FastCrud 安装依赖 package json dependencies iconify iconify 3 0 1 devDependencies unplugin icons
  • seccomp限制系统调用

    Secure Computing Mode seccomp 是一个内核功能 允许您过滤容器到内核的系统调用 可以向不同的容器传递不同的配置文件 Seccomp提供比功能更精细的控制 使攻击者在容器只能获得有限数量的系统调用 Docker的默
  • 图片服务器定期删除不用的文件,记一次数据库图片引用和服务器文件对比 删除未引用的服务器图片1...

    要保存的文件路径 private void btnSavePath Click objectsender EventArgs e FolderBrowserDialog dialog newFolderBrowserDialog if di
  • canvas rotate() 中心旋转的实际运用

    在开发中遇到了一个问题 在画canvas的时候需要对画布中画出来的特定图片进行中心旋转 直接旋转后图片就转走了 还是需要调整位置 变成中心旋转 平时用到canvas旋转的使用并不多 这个问题卡了好久 最后终于好了 放个dome 需要的可以试
  • CentOS笔记: pyenv 安装 python 多版本(增强版)

    点击打开链接 https www jianshu com p 228cd025a368
  • Windows系统配置Python环境(Anaconda篇)

    Windows系统配置Python环境 Anaconda篇 一 下载 根据自己电脑系统下载对应的安装包 官方下载地址 https www anaconda com products distribution 清华镜像网站 https mir
  • 【Python量化】风险平价策略

    文章目录 一 风险平价策略 二 风险平价组合的构建步骤 第一步 选择底仓 第二步 计算资产对组合的风险贡献 第三步 优化组合风险贡献 计算资产权重 三 风险平价组合的Python实现 3 1 数据概况 3 2 构建风险平价组合 本文章首发于
  • Java集合详解

    文章目录 集合框架的概述 集合框架 Collection接口继承树 List接口框架 Set接口框架 Map接口继承树 Collection接口中的方法的使用 iterator迭代器 集合元素的遍历操作 使用迭代器Iterator接口 测试
  • 架构基础篇

    架构设计的关键思维是判断和取舍 程序设计的关键思维是逻辑和实现 架构设计需要考虑的通用问题 性能 可用性 可扩展性 安全性 成本 规模 架构设计的三大原则 合适优于业界领先 简单优于复杂 迭代优于一步到位 基础概念 架构指软件系统的顶层结构
  • mysql 提交事务_MySQL事务提交过程

    一 MySQL事务提交过程 一 MySQL作为一种关系型数据库 已被广泛应用到互联网中的诸多项目中 今天我们来讨论下事务的提交过程 由于mysql插件式存储架构 导致开启binlog后 事务提交实质是二阶段提交 通过两阶段提交 来保证存储引