查到可通过新建一个表,改好结构,导入旧数据的方法,但觉得时间上稍有些长。
10 个解决方案
#1
1、导出到TXT文件,修改完后,再LOAD;
2、试试
create table newtt as
select tt.*,新列1,新列2 from tt
2、试试
create table newtt as
select tt.*,新列1,新列2 from tt
#2
最简单的方法就是直接用alter语句,但是会阻塞读写,阻塞时间看你的机器性能和表结构复杂度
如果想在线更改表结构 需要用perconal的第三方工具
pt-online-schema-change
http://www.percona.com/doc/percona-toolkit/2.1/
如果想在线更改表结构 需要用perconal的第三方工具
pt-online-schema-change
http://www.percona.com/doc/percona-toolkit/2.1/
#3
建议还是找个凌晨停业务 稳点
#4
看你的表结构,300W记录不算多,DDL在普通的服务器上有个1-2分钟也够了。在业务不繁忙的时候做alter table操作。
如果你有MASTER-SLAVE结构,先在SLAVE上做,然后把APP切到SLAVE上,再改MASTER的
如果你有MASTER-SLAVE结构,先在SLAVE上做,然后把APP切到SLAVE上,再改MASTER的
#5
to zuoxingyu2012 ,谢谢先。
确定在300W条记录上,做过alter table么?
我试了,20多分钟,也没有反应。
然后就ctr+c 了。
当时大约有5-10人在使用数据库。
确定在300W条记录上,做过alter table么?
我试了,20多分钟,也没有反应。
然后就ctr+c 了。
当时大约有5-10人在使用数据库。
#6
但数据访问量,相对300W,应该极小的。
#7
表结构?约30个字段,有4-5个索引。
#8
建议不要做alter table
ALTER TABLE本质上MYSQL还是先创建一个新的表与原来表结构相同,然后添加需要的列,再复制数据。复制完成后删除旧表,再将临时表改名为原表名。
ALTER TABLE本质上MYSQL还是先创建一个新的表与原来表结构相同,然后添加需要的列,再复制数据。复制完成后删除旧表,再将临时表改名为原表名。
#9
版主,你提建议方法,是什么呢?
#10
试试淘宝,或者PT的那个在线DDL的工具。
#1
1、导出到TXT文件,修改完后,再LOAD;
2、试试
create table newtt as
select tt.*,新列1,新列2 from tt
2、试试
create table newtt as
select tt.*,新列1,新列2 from tt
#2
最简单的方法就是直接用alter语句,但是会阻塞读写,阻塞时间看你的机器性能和表结构复杂度
如果想在线更改表结构 需要用perconal的第三方工具
pt-online-schema-change
http://www.percona.com/doc/percona-toolkit/2.1/
如果想在线更改表结构 需要用perconal的第三方工具
pt-online-schema-change
http://www.percona.com/doc/percona-toolkit/2.1/
#3
建议还是找个凌晨停业务 稳点
#4
看你的表结构,300W记录不算多,DDL在普通的服务器上有个1-2分钟也够了。在业务不繁忙的时候做alter table操作。
如果你有MASTER-SLAVE结构,先在SLAVE上做,然后把APP切到SLAVE上,再改MASTER的
如果你有MASTER-SLAVE结构,先在SLAVE上做,然后把APP切到SLAVE上,再改MASTER的
#5
to zuoxingyu2012 ,谢谢先。
确定在300W条记录上,做过alter table么?
我试了,20多分钟,也没有反应。
然后就ctr+c 了。
当时大约有5-10人在使用数据库。
确定在300W条记录上,做过alter table么?
我试了,20多分钟,也没有反应。
然后就ctr+c 了。
当时大约有5-10人在使用数据库。
#6
但数据访问量,相对300W,应该极小的。
#7
表结构?约30个字段,有4-5个索引。
#8
建议不要做alter table
ALTER TABLE本质上MYSQL还是先创建一个新的表与原来表结构相同,然后添加需要的列,再复制数据。复制完成后删除旧表,再将临时表改名为原表名。
ALTER TABLE本质上MYSQL还是先创建一个新的表与原来表结构相同,然后添加需要的列,再复制数据。复制完成后删除旧表,再将临时表改名为原表名。
#9
版主,你提建议方法,是什么呢?
#10
试试淘宝,或者PT的那个在线DDL的工具。