paip.解决 数据库mysql增加列 字段很慢添加字段很慢

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: paip.解决 数据库mysql增加列 字段很慢添加字段很慢环境如下:mysql5.6 数据仅仅3w alter table xxx add column yyy int default 0; 添加字段很慢,好几份中都没有好。
+关注继续查看

paip.解决 数据库mysql增加列 字段很慢添加字段很慢

环境如下:

mysql5.6 数据仅仅3w
alter table xxx add column yyy int default 0;
添加字段很慢,好几份中都没有好。。

原因以及解决

[SQL] alter table grejx_def add column flag12 int default 0;
受影响的行: 0
不是那种lock–copoy–rewrite的方式.effeic row sh 0 ,为甚还是这么慢的是??
Oracle 11g的快速加字段功能就是好啊..

数据结构紊乱兰,只要不个table 优化给挂走ok兰。。
字谣0.3s走ok兰..

作者 老哇的爪子 Attilax 艾龙, EMAIL:1466519819@qq.com
转载请注明来源: http://blog.csdn.net/attilax

mysql数据库添加字段或者修改结构过程如下

由于mysql在线ddl(加字段、加索引等修改表结构之类的操作)过程如下:

A.对表加锁(表此时只读)
B.复制原表物理结构
C.修改表的物理结构
D.把原表数据导入中间表中,数据同步完后,锁定中间表,并删除原表
E.rename中间表为原表
F.刷新数据字典,并释放锁

添加字段很慢
alter table grejx_def add column flag int default 0;

大的数据哈的解决

停掉mysql服务器来修改表结构。然后进行滚动式更新

Facebook数千台MySQL服务器在过去增加个索引需要几个月的滚动升级(后来他们自己开发了后面提到的工具,只需要几天)

在加字段之前进行测验mysql是否复制表,以减低应用卡死的风险:

在命令结束之后看看显示“rows affected “的值。例如,这里您可能会看到在做不同类型的DDL操作:

拷贝表结构,然后插入少量的数据。去修改表结构。看影响的行。如果为0,则表示不会拷贝中间表的方式

关于online-schema-change

是percona推出的一个针对mysql在线ddl的工具

新的思路(手动执行mysql的过程)

1:手动的创建好修改后的表结构 NEW_TAB。(比如新增字段,修改表字段类型。删除表字段,可以一并一次性搞定)
对于MyISAM表,您可以通过把myisam_sort_buffer_size系统变量设置到一个较高的值,来加快重新创建索引(该操作是变更 过程中速度最慢的一部分)的速度。
2: 选择性的将旧表OLD_TAB数据插入到修改后的表。(这里需要注意的是海量数据的处理。可以将表记录按照主键分批进行插入处理,其实在如果分表处理的话,在业务代码中也是可以进行修改处理的,分而治之。)

3:rename表名称。 (这里需要注意的是RENAME过程中的锁表,可以在业务空闲的凌晨晚上进行处理)。

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
7天前
|
关系型数据库 MySQL 开发者
MySQL 字段约束 null, not null, default, auto_increment
前言:转载,觉得有用就发了一遍 在 MySQL 中,每个字段定义都包含附加约束或者修饰符,这些可以用来增加对所输入数据的约束。 今天我们就来看一下 MySQL 的字段约束: NULL 和 NOT NULL 修饰符、DEFAULT 修饰符,AUTO_INCREMENT 修饰符。
48 0
|
7天前
|
存储 关系型数据库 MySQL
Mysql数据库 2.SQL语言 数据类型与字段约束
Mysql数据库 2.SQL语言 数据类型与字段约束
18 0
|
22天前
|
关系型数据库 MySQL 数据库
Flink CDC中mysql 字段设置了默认值 ,然后插入数据时 指定该字段为null 会返回字段默认值 而不是null?
Flink CDC中mysql 字段设置了默认值 ,然后插入数据时 指定该字段为null 会返回字段默认值 而不是null?
35 2
|
25天前
|
关系型数据库 MySQL 数据库
mysql一次给数据库所有表加字段
mysql一次给数据库所有表加字段
20 0
|
1月前
|
存储 关系型数据库 MySQL
MySQL中库/表/字段/主键/用户操作示例与详解
MySQL中库/表/字段/主键/用户操作示例与详解
18 0
|
2月前
|
存储 Cloud Native 关系型数据库
在MySQL中使用VARCHAR字段进行日期筛选
在MySQL中使用VARCHAR字段进行日期筛选
9 0
|
2月前
|
Java 关系型数据库 MySQL
【MySQL用法】mybatis框架中,查询出来的实体类结果集中的某一个字段无法映射到实体类中的解决方案
【MySQL用法】mybatis框架中,查询出来的实体类结果集中的某一个字段无法映射到实体类中的解决方案
16 0
|
2月前
|
SQL 安全 关系型数据库
MySQL学习笔记-如何安全的给小表加字段
MySQL学习笔记-如何安全的给小表加字段
28 0
|
3月前
|
关系型数据库 MySQL 数据库
MySql 字段附加属性
MySql 字段附加属性
30 0
|
3月前
|
存储 关系型数据库 MySQL
MySQL长文本字段的选取
MySQL长文本字段的选取
56 0
推荐文章
更多