IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 当update语句提交后,数据库做了哪些操作? -> 正文阅读

[大数据]当update语句提交后,数据库做了哪些操作?

问题

详细描述用户连接数据库,执行update语句commit结束后,数据库内部的运行流程。

答案

commit操作

检查点机队列中相关数据块的提交状态修改为已提交
释放持有的锁资源
返回给用户进程提交完成的信息

Buffer Cache & DBWR
Buffer Cache其实就是磁盘数据文件的缓存,以修改块的操作为例,如update,只是修改Buffer Cache中的Buffer,修改完成后,update操作就算完工了。这样Buffer和磁盘中的Block就不一致了,Buffer中有用户最新修改的数据,这些数据还没有写入磁盘。这样的Buffer就是脏Buffer(也可称脏块)。脏块由DBWR进程统一写磁盘,脏块写入磁盘后就不是脏块了,所以DBWR写脏块这个过程,也叫刷新脏块

CKPT & DBWn & LGWR

CKPT会触发数据库写进程(DBWn),通知DBWn将当前检查点队列中已标记为提交状态的数据块从缓存高速缓冲区读出并写入到数据文件中(database buffer cache -> datafiles),DBWn在执行前会首先触发一次日志写,确保写入数据文件的提交过的数据块所对应的的重做条目都已持久化在联机重做日志文件中(redo log buffer -> online redo log files)
在DBWn把检查点队列记录的所有已提交的数据块全部成功写入数据文件后,CKPT会用控制文件头记录SCN把数据库全部的数据文件头的SCN字段值刷新一遍,刷新完成后,每个数据文件头的的SCN字段值和控制文件保持一致(一致性数据库的标志)。

原理大图
解析Redo数据流
详细解析update语句的过程

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-03-06 13:08:12  更:2022-03-06 13:08:17 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 10:03:13-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码