文章 2022-06-13 来自:开发者社区

新特性速递 | InnoDB redo log archiving(归档)

导读MySQL 8.0.17开始支持的redo log归档能干嘛用呢,好吃吗今天,MySQL 8.0.17发布了,看了下release note,发现果真如之前预期的那样,恢复了redo log归档(redo log archiving)功能。之所以说是“恢复”,那是因为在InnoDB非常古老的版本(MySQL 4.0.6之前的版本)才存在,之后就取消了,当时还支持redo log mirror....

文章 2022-04-15 来自:开发者社区

MySQL · 引擎特性 · InnoDB文件系统管理

综述 从上层的角度来看,InnoDB层的文件,除了redo日志外,基本上具有相当统一的结构,都是固定block大小,普遍使用的btree结构来管理数据。只是针对不同的block的应用场景会分配不同的页类型。通常默认情况下,每个block的大小为UNIV_PAGE_SIZE,在不做任何配置时值为16kb,你还可以选择在安装实例时指定一个块的block大小。 对于压缩表,可以在建表时指定block ....

MySQL · 引擎特性 · InnoDB文件系统管理
文章 2022-04-15 来自:开发者社区

MySQL · 引擎特性 · InnoDB 事务锁简介

InnoDB 事务锁系统简介 前言 本文的目的是对InnoDB的事务锁模块做个简单的介绍,使读者对这块有初步的认识。本文先介绍行级锁和表级锁的相关概念,再介绍其内部的一些实现;最后以两个有趣的案例结束本文。 本文所有的代码和示例都是基于当前最新的MySQL5.7.10版本。 行级锁 InnoDB支持到行级别粒度的并发控制,本小节我们分析下几种常见的行级锁类型,以及在哪些情况下会使用到这些类型的锁....

MySQL · 引擎特性 · InnoDB 事务锁简介
文章 2022-04-15 来自:开发者社区

MySQL · 引擎特性 · InnoDB Adaptive hash index介绍

前言 我们知道InnoDB的索引组织结构为Btree。通常情况下,我们需要根据查询条件,从根节点开始寻路到叶子节点,找到满足条件的记录。为了减少寻路开销,InnoDB本身做了几点优化。 首先,对于连续记录扫描,InnoDB在满足比较严格的条件时采用row cache的方式连续读取8条记录(并将记录格式转换成MySQL Format),存储在线程私有的row_prebuilt_t::fetch_c....

文章 2022-04-15 来自:开发者社区

MySQL · 引擎特性 · InnoDB Change Buffer介绍

前言 在前面几节我们介绍了undo log、redo log以及InnoDB如何崩溃恢复来实现数据ACID的相关知识。本期我们介绍另外一种重要的数据变更日志,也就是InnoDB change buffer。 Change buffer的主要目的是将对二级索引的数据操作缓存下来,以此减少二级索引的随机IO,并达到操作合并的效果。 在MySQL5.5之前的版本中,由于只支持缓存insert操作,所以....

MySQL · 引擎特性 · InnoDB Change Buffer介绍
文章 2022-04-15 来自:开发者社区

MySQL · 引擎特性 · InnoDB redo log漫游

前言 InnoDB 有两块非常重要的日志,一个是undo log,另外一个是redo log,前者用来保证事务的原子性以及InnoDB的MVCC,后者用来保证事务的持久性。 和大多数关系型数据库一样,InnoDB记录了对数据文件的物理更改,并保证总是日志先行,也就是所谓的WAL,即在持久化数据文件前,保证之前的redo日志已经写到磁盘。 LSN(log sequence number) 用于记录....

MySQL · 引擎特性 · InnoDB redo log漫游
文章 2022-02-17 来自:开发者社区

新特性速递 | InnoDB redo log archiving(归档)

导读MySQL 8.0.17开始支持的redo log归档能干嘛用呢,好吃吗今天,MySQL 8.0.17发布了,看了下release note,发现果真如之前预期的那样,恢复了redo log归档(redo log archiving)功能。之所以说是“恢复”,那是因为在InnoDB非常古老的版本(MySQL 4.0.6之前的版本)才存在,之后就取消了,当时还支持redo log mirror....

文章 2022-02-17 来自:开发者社区

MySQL8.0 - 新特性 - 说说InnoDB Log System的隐藏参数

InnoDB在设计lock-free的log system时,除了已有的参数外,还通过宏控制隐藏了一些参数,如果你使用源码编译时,打开cmake选项-DENABLE_EXPERIMENT_SYSVARS=1, 就可以看到这些参数了。本文主要简单的过一下这些隐藏的参数所代表的含义 A.innodb_log_write_eventsinnodb_log_flush_events两者的含义类似,表示用....

文章 2022-02-17 来自:开发者社区

MySQL8.0.14 - 新特性 - InnoDB Parallel Read简述

Update log 2019/7/30: MySQL-8.0.17 相关worklog: WL#12978: InnoDB:Fix imbalance during parallel scan 主要改动:修复了数据倾斜的问题,比如产生了5个分区,但只有4个线程,每个分区执行假设1分钟的话,那么首先4个线程先各自执行自己的分区,然后谁先完成再执行最后一个分区,加起来就是2分钟。解决方案是,当执行....

文章 2022-02-17 来自:开发者社区

MySQL8.0 · 引擎特性 · InnoDB 批量读特性

Note: 相关worklog: WL#7093: Optimizer provides InnoDB with a bigger buffer 基于MySQL8.0.12 通常情况下,InnoDB每获得一行记录会: 记录下当前的cursor 返回记录 下次进入innodb层时,重新恢复其在btree上的cursor,并读取下一条记录 但在满足一定条件时,InnoDB会顺序读取一部分记...

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。