【TiDBer 唠嗑茶话会 118 】对于 DDL ,你有什么话要说!来开个吐槽大会吧!

创建索引,修改字段类型、修改字段长度

加索引和加字段

加索引、修改表结构

一杯茶,一包烟,一个索引加一天

使用最多的情况加字段,大表加字段太头疼了

加索引和创建表以及表结构的修改

  1. 执行ddl的时候,如果是异步的,很长时间才能执行的,能不能先给客户端返回下?不至于非得先ctl+c再重新启动终端。这个不确定协议上有没有问题。
  2. 执行ddl的速度能不能快到占满所有资源?假如可以接受这期间停服,能不能所有资源都去组织ddl去,把这个时间快到极致?

每次处理大表的时候就很怕卡住,或者是影响到业务。

主要是创建表、创建索引、新增字段、修改字段这几种场景

加字段和创建索引

加索引能快点真的很重要

索引相关操作(create、alter、drop index)能否设计为不堵塞MDL?
如果一个事务只包含查询请求(非当前读)能否设计不堵塞MDL?
MDL元数据锁需要引入超时机制,避免一直处于堵塞状态(默认可保持永远堵塞,用户可自己调整超时时间)。

online DDL 实现实时填充就好了,这样就能很快完成,不死机

业务影响小,执行速度快。

DDL运行卡顿,需要进行一些优化

DDL优化一些会更好

主要是索引

增加DDL稳定性

ddl 我们用的最多的就是加索引

主要就用到:增减索引、加字段。
线上1.4亿数据, 建组合索引 7min,稳定就好。