mysql alter table add column的几个性能知识点

本文探讨在AWS Aurora MySQL和MySQL中追加列的性能差异,特别是启用fast DDL后的影响。研究发现,启用fast DDL后,默认追加到末尾的性能显著优于指定位置追加,而在SQL Server中,添加列需更复杂操作且不支持指定位置。文章提供了Aurora MySQL与MySQL性能对比的参考资料。
摘要由CSDN通过智能技术生成

今天调查了一个问题,背景是在aws的 Aurora MySQL上,三百万数据的表里追加列,测试了中间指定位置追加,和默认的末尾追加,发现速度都挺快的。

一般印象里在中间追加应该比默认的情况要慢一些,结果是反而稍微快一点。就想要深入得了解一下。以下为内容。

问题:在追加列时,①default追加到末尾与②指定位置追加两种 性能有什么区别。
语法:
①default默认无需指定位置,会追加到末尾

alter table table_name add column_name CHAR(10) ;

②指定位置,first指定列首,after指定在某一列之后,没有before关键词

alter table table_name ADD column_name CHAR(11) FIRST;
alter table table_name ADD column_name CHAR(11) AFTER column1;

MySQL,在表中添加一列时发生了什么(相同处理速度差不多)

根据指定的算法,该操作可涉及以下步骤:

  • 创建表的完整副本
  • 创建临时表,以处理并发数据操控语言 (DML) 操作
  • 重建此表的所有索引
  • 应用并发 DML 更改时应用表锁定
  • 减慢并发 DML 吞吐量

MySQL对两者的操作应该是相同的。消耗可见是很大的。

AWS  Aurora MySQL中启用fast DDL(不同处理)

查看是否

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值