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

Online ddl和replace ddl

在这个之前我们先来了解两种文件类型

1. .ibd文件

        表数据文件,存储了表的数据和索引信息,从Mysql8开始表定义信息,从.frm文件改为.dcl文件存储,而表数据和索引信息仍然储存在.ibd文件,.idb文件通常在书籍库目录下。

2. .frm文件

        是Mysql数据库中存储库中存储表结构的文件,它记录了表的结构信息,包括表的字段索引,触发器等信息。

        Mysql的存储引擎通过读取frm文件来了解表结构

Online ddl

Online ddl 在Mysql5.6对于部分alter table 新的执行算法可以进行DDL时,“并行”现有业务(DML)操作

目前支持主流算法有三种

COPY --MySQL 5.6之前非Online,都是执行这种算法

INPACE--5.6出现

INSTANT--Mysql8.0.12出现的

首先我们先来看看COPY

DDL时,生成(临时)新表,将原表书记逐行拷贝到新表中,在此期间会阻塞DML,offline(离线而非在线的)。

在准备阶段全程加锁,即不能写入数据,也不能查询数据,在执行和提交的时候容易造成数据库阻塞

INPLACE

MySQL5.6出现的新算法,无需拷贝全表数据到新表,但可能还是需要IN-PLACE方式重建整表

准备和提交过程加锁,不能进行DML,在执行过程可以进行DML,因为准备和提交时间占比很少,可以达到百分之九十多的Online状态。所以它几乎是Online的

Instant

只修改数据字典当中的元数据,无需拷贝数据,也无需重建整表,原表数据也不受影响,整个DDl过程几乎瞬间完成,也不会阻塞DDL

Online是否即为是否允许并发DML

Copy 算法执行的 DDL肯定不是 Online 的,Inplace 算法执行的 DDL 不一定是 Online 的。

http://www.lryc.cn/news/249167.html

相关文章:

  • WEB渗透—反序列化(九)
  • 蓝桥杯day02——第三大的数
  • linux shell中set -e命令的作用
  • linux shell 字符替换命令
  • Vue3生命周期函数(简述题)
  • 11月29日,每日信息差//雷军个人向武汉大学捐赠13亿元现金//看电视默认设置新规一览:开机广告不超 5 秒、不设置一键付费
  • 融资经理简历模板
  • iptables防火墙之SNAT与DNET
  • mysql使用--备份与恢复
  • 【vue实战项目】通用管理系统:信息列表,信息录入
  • 【驱动】SPI驱动分析(六)-RK SPI驱动分析
  • 【Linux】基础IO--文件基础知识/文件操作/文件描述符
  • Intellij IDEA 的安装和使用以及配置
  • Zynq-Linux移植学习笔记之67- 国产ZYNQ上通过GPIO模拟MDC/MDIO协议
  • Zookeeper(一)在WSL单机搭建Zookeeper伪集群
  • QT(18):QString
  • 宏工科技通过CMMI三级认证,软件研发能力获国际权威认可
  • 2次MD5加密——用于分布式对话
  • 用Java制作简易版的王者荣耀
  • android 保活的一种有效的方法
  • kibana安装
  • LV.12 D19 ADC实验 学习笔记
  • ubuntu配置免密登录vscode
  • 软件工程--面向对象分析用通俗语言20小时爆肝总结!(包含用例图、活动图、类图、时序图......)
  • HarmonyOS—ArkTS中@Observed和@ObjectLink装饰器的嵌套类对象属性变化【鸿蒙专栏-11】
  • 网络通信安全的坚固防线双向认证技术详解
  • Appium+python+unittest搭建UI自动化框架
  • 使用paddledetection的记录
  • MySQL数据库的备份与恢复
  • Pycharm配置jupyter使用notebook详细指南(可换行conda环节)