萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> mysql教程 >> MySQL中大數據表增加字段的實現思路

MySQL中大數據表增加字段的實現思路

MySQL中怎麼實現大數據表增加字段?小編分享了一個MySQL中大數據表增加字段的實現思路,有需要的同學可以參考一下。

增加字段相信大家應該都不陌生,隨手就可以寫出來,給 MySQL 一張表加字段執行如下 sql 就可以了:

ALTERTABLEtbl_tplADDtitle(255)DEFAULT''COMMENT'標題'AFTERid;

但是線上的一張表如果數據量很大呢,執行加字段操作就會鎖表,這個過程可能需要很長時間甚至導致服務崩潰,那麼這樣操作就很有風險了。

那麼,給 MySQL 大表加字段的思路如下:

① 創建一個臨時的新表,首先復制舊表的結構(包含索引)

 代碼如下復制代碼 createtablenew_tablelikeold_table;

② 給新表加上新增的字段

③ 把舊表的數據復制過來

 代碼如下復制代碼 insertintonew_table(filed1,filed2…)selectfiled1,filed2,…fromold_table

④ 刪除舊表,重命名新表的名字為舊表的名字

不過這裡需要注意,執行第三步的時候,可能這個過程也需要時間,這個時候有新的數據進來,所以原來的表如果有字段記錄了數據的寫入時間就最好了,可以找到執行這一步操作之後的數據,並重復導入到新表,直到數據差異很小。不過還是會可能損失極少量的數據。

所以,如果表的數據特別大,同時又要保證數據完整,最好停機操作。

另外的方法:

1.在從庫進行加字段操作,然後主從切換

2.使用第三方在線改字段的工具

一般情況下,十幾萬的數據量,可以直接進行加字段操作。

copyright © 萬盛學電腦網 all rights reserved