MYSQL学习笔记之简单的UPDATE语句(二)
声明:本文章内容是根据极客时间中林晓斌的课程《MYSQL45讲》,经过学习,加以自己的理解形成的笔记。具体原文可以到官网进行阅读。如有侵权请,告知删除。
UPDATE t SET name = jack WHERE id = 1
这是一个简单的更新语句,它会如同查询语句一样,经过流程,连接器,分析器,优化器,执行器。它首先会查看内存中是否有 id为1的数据 如果有的话,那么就会更新返回。更新操作会清除该条记录的缓存
1.WAL 技术
WAL他的全称 WRITE-Ahead Logging,他的特点就是 先记录日志,再写磁盘。
2.日志模块
MYSQL的日志分为两个方面。
server层: binlog日志(归档日志)binlog 是逻辑日志,记录的是这个语句的原始逻辑,比如“给 ID=2 这一行的 c 字段加 1 ”。
引擎层: redo log 是 InnoDB 引擎特有的,redo log 是物理日志,记录的是“在某个数据页上做了什么修改”
2.1为什么要两份日志呢?
InnoDB 是另一个公司以插件形式引入 MySQL 的,既然只依靠 binlog 是没有 crash-safe 能力的,所以 InnoDB 使用另外一套日志系统——也就是 redo log 来实现 crash-safe 能力。
3.如何实现 crash-safe
crash-safe 就是 即使数据库发生异常重启,提交过的记录都不会丢失。具体实现是通过 redo-log的两段提交协议。记录日志的过程是:
1.记录redo log 处于 prepare状态
2.记录binlog 写入磁盘
3.redo改成 commit状态,更新完成
1 prepare阶段 2 写binlog 3 commit
当在2之前崩溃时
重启恢复:后发现没有commit,回滚。备份恢复:没有binlog 。
一致
当在3之前崩溃
重启恢复:虽没有commit,但满足prepare和binlog完整,所以重启后会自动commit。备份:有binlog. 一致
MYSQL学习笔记之简单的UPDATE语句(二)相关推荐
- mysql 学习笔记04 insert与update语句
1.插入数据 注意事项: 字符和日期类型, 要用 单引号 括起来 insert into (), (), () 例如: insert into goods values(1, 'abc', 2.2), ...
- MySql学习笔记——压测工具slap(二十九)
自带的,本机地址C:\Program Files\MySQL\MySQL Server 5.7\bin 直接在cmd运行即可 基础语法:mysqlslap xxxx 典型的测试选项如下 自动生成sql ...
- mysql select语句详解_mysql学习笔记之完整的select语句用法实例详解
本文实例讲述了mysql学习笔记之完整的select语句用法.分享给大家供大家参考,具体如下: 本文内容: 完整语法 去重选项 字段别名 数据源 where group by having order ...
- mysql数据库select语句用法_mysql学习笔记之完整的select语句用法实例详解
本文实例讲述了mysql学习笔记之完整的select语句用法.分享给大家供大家参考,具体如下: 本文内容: 完整语法 去重选项 字段别名 数据源 where group by having order ...
- 小白终是踏上了这条不归路----小文的mysql学习笔记目录
** 小文的学习笔记正在每日连载当中 为了方便观察,小文在练习的时候用的是图形化工具SQLyog然后用共用到两张表,employees表和girls表. 如果有需要该软件和上述两张表的兄弟可以 关注 ...
- Mysql学习笔记(基础)基础sql语句详细记录
数据库学习(基础) // 个人网课学习记录,如果有违规等问题,请联系我删除~ mysql下载安装( 解压版安装配置 下载版安装配置 ) 需求分析:使用cmd命令来创建一个数据库,并对数据库中得一张分类 ...
- 零基础学习数据库SQL教程(一)(简单的SELECT语句 简单的INSERT语句 简单的UPDATE语句 简单的DELETE语句)
写在前面的话:本文章内容是自己在LintCode网站SQL教程学习过程中做的学习总结,以便自己复习和大家学习,如果去刷此网站的题,也可以把此文作为参考答案来使用.例题的答案是本人所写,并且已经运行成功 ...
- Mysql学习笔记(六)增删改查
原文:Mysql学习笔记(六)增删改查 PS:数据库最基本的操作就是增删改查了... 学习内容: 数据库的增删改查 1.增...其实就是向数据库中插入数据.. 插入语句 insert into tab ...
- MySQL学习笔记-基础篇1
MySQL 学习笔记–基础篇1 目录 MySQL 学习笔记--基础篇1 1. 数据库概述与MySQL安装 1.1 数据库概述 1.1.1 为什么要使用数据库 1.2 数据库与数据库管理系统 1.2.1 ...
最新文章
- linux 内核 file_operations结构体各项解析
- Kibana远程代码执行漏洞攻击方法和漏洞原理分析
- CSV出力ボタンラッパー(asp.net)[イベントの作り方に役立つ]
- 如何扩展开发团队(转)
- YL杯超级篮球赛(jzoj 1325)
- 平衡二叉树AVL插入
- mysql-installer-community-5.5.29.0.msi 下载
- 2017级计科新生游戏大作业制作讲解
- ERP源码 跨境电商ERP源码 Java电商ERP源码
- 数据结构课程设计——学生成绩查询与分析系统(简单详细版,含讲解)
- 使用 Bitmap Style Designer 为FMX修改已有样式
- Hive指定位置增加字段及解决columns have types incompatible with the existing columns in their respective positio
- 欧拉函数为什么是积性函数
- 小游戏——满天小星星
- opencv保存视频编码方式
- 阿里云 远程桌面 登录
- 【目标检测】小目标检测问题及解决方法
- easyexcel 异常:java.lang.NoClassDefFoundError: org/apache/poi/poifs/filesystem/filemagic
- 调整oracle scn,调高SCN的方法
- 人工智能发展的三起两落
热门文章
- oracle 12c安装过程中报错:[INS-32102]指定的Oracle主目录已存在
- 工业企业资产情况和主要财务指标
- ps3模拟器(rpcs3) v0.0.0.4 中文版
- 微信小程序滑动日历实现思路
- 从相机raw图像到日常看到的jpeg图像
- (摘要)100个伟大的商业理念:理念10:顾客心理分析
- 本周六的2017中国产品经理大会、又确定了一位重量级嘉宾!
- android+底部评论框,Android 之BottomsheetDialogFragment仿抖音评论底部弹出对话框效果(实例代码)...
- RT_thread的IIC设备学习笔记
- 一图看懂 RTT 设备层次