在实际生产过程中,如果有一张表A,数据量是千万级。如何有效的为表A新增一个字段,或者变更表A的某个字段呢?
我目前采用的方法如下:
1、将A表的数据导出到一个临时文件中tmp.unl
2、新建一张临时表Atmp,最好是无日志类型的
3、将tmp.unl中的数据导入到Atmp表中
4、删除表A
5、将Atmp表更名为A
6、将表A设置为标准表,同时为Atmp增加索引
这样的话,会导致表A中的数据落地,想问有没有更好的解决方法呢?
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
MySQL 5.6以上的话,加列通常不会锁表的。相当于MySQL自动帮你把步骤1到6都给做了。
详情参阅: https://dev.mysql.com/doc/ref...