it编程 > 数据库 > Mysql

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

5人参与 2025-03-09 Mysql

问题

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 = '库名';

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)
打赏 微信扫一扫 微信扫一扫

您想发表意见!!点此发布评论

推荐阅读

MySQL对字符串使用STR_TO_DATE()函数详解

03-09

MySQL数据库优化与定期数据处理策略

03-09

两个windows服务器使用canal实现mysql实时同步

03-08

mysqlbinlog查看日志[ERROR]unknown variable ‘default-character-set=utf8’

03-08

MySQL读写分离的项目时间实践

03-06

MyCat 垂直分片和水平拆分的实现

03-06

猜你喜欢

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论