前言
增加字段相信大家應該都不陌生,隨手就可以寫出來,給 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大表中加字段的實現思路,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。
您可能感興趣的文章:- MYSQL使用.frm恢復數據表結構的實現方法
- mysql中復制表結構的方法小結
- MySQL修改表結構操作命令總結
- mysql修改表結構方法實例詳解
- MySQL中修改表結構時需要注意的一些地方
- Mysql復制表結構、表數據的方法
- mysql alter table命令修改表結構實例
- MySQL數據源表結構圖示
- MySQL表結構變更你不可不知的Metadata Lock詳解
- mysql創建存儲過程實現往數據表中新增字段的方法分析
- mysql數據表按照某個字段分類輸出
- mysql數據表的基本操作之表結構操作,字段操作實例分析