首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >mysql-innodb之关键特性

mysql-innodb之关键特性

原创
作者头像
一只羊羊
修改2025-06-17 16:07:26
修改2025-06-17 16:07:26
780
举报
文章被收录于专栏:mysqlmysql

两次写

解决问题:

为了解决内存页和磁盘块大小不一致而引起的在持久化过程中一个页写到一半挂掉而引起页面数据丢失的问题

两次写过程:

  • 刷新脏页时,将脏页数据copy到doublewrite buffer中
  • 再将doublewrite buffer中的数据顺序的写入(共享表空间)物理磁盘
  • 再从doublewrite buffer数据写入(独立表空间)物理磁盘
  • 当崩溃发生,检查数据页的校验和,不一致,则取共享表空间的数据拷贝到表空间
  • 再应用redo log恢复数据

redo log和两次写区别

redo log:记录的时页面的修改,redo log恢复数据的前提时数据页未受损

两次写: 记录的时页面的数据,保证数据页的完整性

自适应哈希

目的:

为经常访问的热点数据页建立哈希索引,查找速度o(1)

要求:

  • 访问模式相同且多次
  • 只能用于等值查询,范围查询等不支持

查看自适应哈希

异步io

目的:

  • 提高磁盘操作性能
  • 可以进行IO合并

含义:

在发出一个IO请求后继续发出声音IO请求,当所有的都发送完成后,等待所有IO操作的完成,称为AIO

举例说明:

假设用户需要访问页(space, page_no)分别为(8,6)(8,7), 那么AIO会判断这两个页是连续的,故发送一个IO请求,从(8,6)开始,读取两个页

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 两次写
    • 解决问题:
    • 两次写过程:
    • redo log和两次写区别
  • 自适应哈希
    • 目的:
    • 要求:
    • 查看自适应哈希
  • 异步io
    • 目的:
    • 含义:
    • 举例说明:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档