千家信息网

MySQL DDL操作实践是怎样的

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,本篇文章给大家分享的是有关MySQL DDL操作实践是怎样的,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。根据网上的DDL 树状图,自己
千家信息网最后更新 2026年11月03日MySQL DDL操作实践是怎样的

本篇文章给大家分享的是有关MySQL DDL操作实践是怎样的,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

根据网上的DDL 树状图,自己copy了一份:https://cache.yisu.com/upload/information/20200310/35/76997.jpg?_=1547952296662

对不同版本的add index的处理方式,这篇文章写得不错:https://www.jb51.net/article/75217.htm

--
相关实践

表结构:

CREATE TABLE `tt` (`id` int(11) DEFAULT NULL,`age` int(11) DEFAULT NULL) ENGINE=InnoDB DEFAULT CHARSET=utf8row in set (0.01 sec)

行数:

data_migration@192.168.7.21:3306 test>select count(*) from tt;+----------+| count(*) |+----------+| 12582912 |+----------+data_migration@192.168.7.21:3306 test>alter table tt add index idx_id(id);Query OK, 0 rows affected (27.49 sec)Records: 0  Duplicates: 0  Warnings: 0

增加id索引
临时表:只增加了#sql-1e65_68.frm,未增加idb
数据量变化:448M -> 676M

data_migration@192.168.7.21:3306 test>alter table tt add name1 varchar(12);Query OK, 0 rows affected (44.72 sec)Records: 0  Duplicates: 0  Warnings: 0

新增字段
临时表:增加#sql-1e65_68.frm, #sql-ib231-4246726206.ibd,完成时增加#sql-ib255-4246726207.ibd没有tt.ibd,最后生成tt.idb
数据量变化:临时表一直增加到和新表同样的数据量后,最后完成新表替换,新表 676M->740M

-rw-r-----  1 mysql mysql 740M 1月   8 11:30 #sql-ib231-4246726206.ibd-rw-r-----  1 mysql mysql 8.4K 1月   8 11:06 tt.frm-rw-r-----  1 mysql mysql 676M 1月   8 11:08 tt.ibd[root@dbtest-21 test]# ll -ah-rw-r-----  1 mysql mysql 8.5K 1月   8 11:30 #sql-1e65_68.frm-rw-r-----  1 mysql mysql 740M 1月   8 11:30 #sql-ib231-4246726206.ibd-rw-r-----  1 mysql mysql 8.4K 1月   8 11:06 tt.frm-rw-r-----  1 mysql mysql 676M 1月   8 11:08 tt.ibd[root@dbtest-21 test]# ll -ah-rw-r-----  1 mysql mysql 8.5K 1月   8 11:30 #sql-1e65_68.frm-rw-r-----  1 mysql mysql 740M 1月   8 11:30 #sql-ib231-4246726206.ibd-rw-r-----  1 mysql mysql 676M 1月   8 11:08 #sql-ib255-4246726207.ibd-rw-r-----  1 mysql mysql 8.4K 1月   8 11:06 tt.frm[root@dbtest-21 test]# ll -ah-rw-r-----  1 mysql mysql 8.5K 1月   8 11:30 tt.frm-rw-r-----  1 mysql mysql 740M 1月   8 11:30 tt.ibddata_migration@192.168.7.21:3306 test>alter table tt modify age varchar(20);Query OK, 12582912 rows affected (2 min 36.80 sec)Records: 12582912  Duplicates: 0  Warnings: 0

修改字段
临时表:增加#sql-1e65_68.frm, #sql-ib231-4246726206.ibd,完成时增加#sql-ib255-4246726207.ibd没有tt.ibd,最后生成tt.idb
数据量变化:临时表一直增加到和新表同样的数据量后,最后完成新表替换
时间增加
TIPS:
1.新增空字段,磁盘会额外占用新加字段的空间。
2.修改增加的新的空字段类型,可以瞬间完成。

--

algorithm = copy/inplace
copy会一直创建临时表,inplace在不同场景(rebuild、no-rebuild)下都会创建、不创建临时表
copy :copy to tmp table,期间不允许DML
inplace :altering table 允许并发DML,使用了参数innodb_online_alter_log_max_size缓存新的写

以上就是MySQL DDL操作实践是怎样的,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。

字段 数据 实践 篇文章 变化 不同 更多 知识 生成 不错 实用 会创 参数 场景 就是 工作会 文章 方式 时间 版本 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 百单网互联网科技有限公司 广州百单互联网科技有限公司 中国互联网科技工作委员会毛军 重生之互联网科技帝国 科技创新与互联网经济 上海互联网科技有限公司 贷财互联网科技 北京禾田雨橡互联网科技 广州善班互联网科技 互联网金融中的现代科技 中国互联网十大科技股排名 互联网公司黑科技创始人 高科技互联网发展前景如何 抖集互联网科技技术咨询 西安左小互联网科技有限公司 银川新华互联网科技学校原画 米泉互联网科技专业怎么样 科技和互联网行业的特点 互联网科技创新方面的资料 互联网科技快速发展优美句子 瑰夏咖啡 互联网科技有限公司 互联网科技网 科技互联网龙头 互联网之后的科技是什么 武汉健翔互联网络科技有限公司 梅州GM互联网络科技有限公司 半导体是互联网高科技吗 世界互联网科技成果奖 国产互联网科技公司
0