Mysql

关注公众号 jb51net

关闭
首页 > 数据库 > Mysql > mysql为大表新增字段或索引

mysql如何为大表新增字段或索引

作者:Ability Liao

解决MySQL大表增加或增加索引操作超时的问题,可以通过建新表、加字段或索引、导数据到新表、改表名等步骤来实现,可以分批导入数据以防止超时,同时,还介绍了如何查询表中的所有字段以及在IDEA中设置执行超时时间的方法

问题

mysql 为大表增加或增加索引等操作时,直接操作原表可能会因为执行超时而导致失败。

解决办法如下。

解决办法

(1)建新表-复制表A 的数据结构,不复制数据

create table B like A;

(2)加字段或索引-表B加上新字段或索引

(3)导数据到新表-把原有数据导入新表

insert into B select * from A [where 条件]
insert into B select id, '' data_code, 其他旧字段 from A [where 条件]

数据量达到几千万时,可以添加where 条件,分批将数据导入到新表。防止数据导入超时。

(4)改表名-修改表A 的名称为A_old,修改B表的表名为A

备注

select CONCAT(COLUMN_NAME ,',') from information_schema.COLUMNS where table_name = '表名' and table_schema = '库名';

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文