当前位置: 首页 > news >正文

聊城网站建设网站建设吴江

聊城网站建设,网站建设吴江,企业网站建设和维护,编程课网课哪家好mysql写入原理 我们知道在mysql数据库最核心的大脑就是执行引擎; 其中的默认引擎Innodb在可靠执行和性能中做出来平衡; innodb支持在事务控制、读写效率,多用户并发,索引搜索方面都表现不俗; innodb如何进行数据写入…

mysql写入原理

在这里插入图片描述

我们知道在mysql数据库最核心的大脑就是执行引擎;

其中的默认引擎Innodb在可靠执行和性能中做出来平衡;

innodb支持在事务控制、读写效率,多用户并发,索引搜索方面都表现不俗;

innodb如何进行数据写入?

在这里插入图片描述

1、我们的sql语句在被优化后会传给存储引擎;

2、内部的执行器会执行sql语句命令;

3、由于内存的写入速度远大于磁盘,所以我们一切的读写在内存中进行

这个内存缓冲区被称为buffer Pool;

在这里插入图片描述

为了支持数据的回滚机制,我们在进行修改更新数据前,先在undo log日志中记录旧值,然后写入buffer pool后操作数据,在一些特定的时机,开启一些小的线程,读取buffer pool的数据写入到硬盘中

在这里插入图片描述

那么innodb是如何在这个过程中将buffer pool数据写入到硬盘中的呢?

innodb调用了操作系统的open和write函数,同时innodb也提供了自己的一套缓存机制,即O_DIRECT,并没有使用操作系统提供的Page cache;

在这里插入图片描述

那么如果发生断电,buffer pool中的数据还没来得及写入到磁盘上的ibd文件,

buffer pool内存中的数据也随着断电丢失,如何解决?

数据在buffer pool更新同时,也会加载更新信息到内存中的redo log buffer缓存中;

redo log buffer的数据写入到磁盘中的redo log 文件;

我们即使断电更新信息也会保存在redo log 文件中,下一次更新信息会刷入ibd文件恢复数据;

在这里插入图片描述

redo log 提供不同的刷盘策略

策略1

设置如图参数为1;

每次提交事务提交前都会将redo log buffer写入到操作系统内存中;

并立刻完成刷盘操作,写入ibd文件中;
在这里插入图片描述

策略0

设置参数为1;

将redo log buffer 写入到内存中,每隔一秒将数据写入到操作系统缓存,并完成刷盘操作;

在这里插入图片描述

binlog日志

binlog提供了主从复制,备份恢复,变更历史查询等;

在redo日志写入时会进行binlog的刷盘操作,在binlog刷盘完成后,binlog会告知redolog已提交的信息,并打上commit标记;

这样一次数据的写入完成;
在这里插入图片描述

http://www.yayakq.cn/news/224047/

相关文章:

  • 全屏网站模版汽车网站制作模板
  • 广州本地门户网站注册城乡规划师
  • 广东省高校质量工程建设网站北京天仪建设工程质量检测所网站6
  • 电商网站开发用什么软件好合肥建设监理协会网站
  • 新注册网站专业生产车间设计图纸网站
  • 做网站公司不给源代码软件工程考研学校推荐
  • 深圳创建网站网络营销的优势
  • 广告公司网站(附falsh及源代码)企业平台网
  • 视频网站建设的背景简介长岛网站建设费用
  • 厦门网站建设建设公司淘宝网络营销案例分析
  • 做pc端网站渠道青岛网页设计哪个公司好
  • 做推广网站那里好周村网站制作哪家好
  • asp.net mvc5网站开发只有一个域名怎么做网站
  • 烟台市牟平区建设局网站手机版商城网站都有哪 些功能
  • 什么是搜索引擎推广苏州关键词seo排名
  • 中外商贸网站建设想学网络运营怎么开始
  • 菲律宾 网站开发公司易语言做网站客户端
  • 网站运营一个月多少钱兰溪网站建设
  • 手机网站 制作计算机网络设计实验报告
  • 怎么判断一个网站做的好不好临沂网站建设对实体企业
  • 内部网站建设要求马可波罗网
  • android开发基础西安seo外包行者seo06
  • seo网站建设技巧设计公司网站要包含什么信息
  • 深圳住房和城乡建设局网站余杭区建设局网站
  • 简述如何优化网站的方法网络架构的设计依据是什么
  • 程序员做电商网站的公司好吗网站 禁止查看源码
  • 热门的网站模板下载遵化建设局网站
  • 计算机企业网站建设论文微信 网站提成方案点做
  • 2022恢复线下教学通知长沙 网站优化
  • 做开发的工资一般多少seo研究中心qq群