时间:2021-05-23
前言
增加字段相信大家应该都不陌生,随手就可以写出来,给 MySQL 一张表加字段执行如下 sql 就可以了:
ALTER TABLE tbl_tpl ADD title(255) DEFAULT '' COMMENT '标题' AFTER id;但是线上的一张表如果数据量很大呢,执行加字段操作就会锁表,这个过程可能需要很长时间甚至导致服务崩溃,那么这样操作就很有风险了。
那么,给 MySQL 大表加字段的思路如下:
① 创建一个临时的新表,首先复制旧表的结构(包含索引)
create table new_table like old_table;② 给新表加上新增的字段
③ 把旧表的数据复制过来
insert into new_table(filed1,filed2…) select filed1,filed2,… from old_table④ 删除旧表,重命名新表的名字为旧表的名字
不过这里需要注意,执行第三步的时候,可能这个过程也需要时间,这个时候有新的数据进来,所以原来的表如果有字段记录了数据的写入时间就最好了,可以找到执行这一步操作之后的数据,并重复导入到新表,直到数据差异很小。不过还是会可能损失极少量的数据。
所以,如果表的数据特别大,同时又要保证数据完整,最好停机操作。
另外的方法:
1.在从库进行加字段操作,然后主从切换
2.使用第三方在线改字段的工具
一般情况下,十几万的数据量,可以直接进行加字段操作。
总结
以上就是关于在MySQL大表中加字段的实现思路,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
创建数据表创建MySQL数据表需要以下信息:表名表字段名定义每个表字段语法以下为创建MySQL数据表的SQL通用语法:CREATETABLEtable_name
本文实例讲述了mysql创建存储过程实现往数据表中新增字段的方法。分享给大家供大家参考,具体如下:需求:往某数据库的某个表中新增一个字段(若该字段已存在,则不做
帝国CMS简单实现国-省-市联动菜单的方法如下:一、增加字段:打开后台管理-数据表管理-管理字段-增加如下三个字段:字段名:pro标识:地区(省)输入投稿表单替
MySQL序列AUTO_INCREMENT详解及实例代码MySQL序列是一组整数:1,2,3,...,由于一张数据表只能有一个字段自增主键,如果你想实现其他字段
前言本文主要给大家介绍了关于Mysql提升大数据表拷贝效率的相关内容,分享出来供大家参考学习,我们大家在工作上会经常遇到量级比较大的数据表;场景:该数据表需要进