找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

4376

积分

0

好友

564

主题
发表于 昨天 22:44 | 查看: 6| 回复: 0

MySQL DDL 每日一题

MySQL 8.0 及以上版本的 InnoDB 中,并非所有 DDL 都会触发表级锁或长时间阻塞业务写入。下面这道题考察的正是 InnoDB 8.0+ 的在线 DDL 行为:

  • A、删除数据表字段
  • B、添加带默认值、允许 NULL 的普通字段
  • C、添加不可为空字段
  • D、修改字段数据长度

答案是 B

为什么会选 B?因为 InnoDB 8.0 支持 INSTANT 算法,只要是在表末尾添加允许 NULL 或带默认值的普通字段,就能够瞬间完成,不会重建表,也不会加锁。而删除字段、添加不可为空字段、修改字段数据长度等操作,通常需要重建表或回填数据,可能对并发 DML 造成影响。




上一篇:Jane Street低延迟系统抖动优化实战:从637ns到163ns的调优全过程
下一篇:JSON 太慢?K8s 1.37 CBOR 二进制序列化原理与 8 倍提速实测
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-8-23 11:33 , Processed in 1.171316 second(s), 41 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表