《MYSQL數(shù)據(jù)庫MySQL中大數(shù)據(jù)表增加字段的實現(xiàn)思路》要點:
本文介紹了MYSQL數(shù)據(jù)庫MySQL中大數(shù)據(jù)表增加字段的實現(xiàn)思路,希望對您有用。如果有疑問,可以聯(lián)系我們。
前言MYSQL數(shù)據(jù)庫
增加字段相信大家應(yīng)該都不陌生,隨手就可以寫出來,給 MySQL 一張表加字段執(zhí)行如下 sql 就可以了:MYSQL數(shù)據(jù)庫
ALTER TABLE tbl_tpl ADD title(255) DEFAULT '' COMMENT '標題' AFTER id;
但是線上的一張表如果數(shù)據(jù)量很大呢,執(zhí)行加字段操作就會鎖表,這個過程可能需要很長時間甚至導(dǎo)致服務(wù)崩潰,那么這樣操作就很有風(fēng)險了.MYSQL數(shù)據(jù)庫
那么,給 MySQL 大表加字段的思路如下:MYSQL數(shù)據(jù)庫
① 創(chuàng)建一個臨時的新表,首先復(fù)制舊表的結(jié)構(gòu)(包含索引)MYSQL數(shù)據(jù)庫
create table new_table like old_table;
② 給新表加上新增的字段MYSQL數(shù)據(jù)庫
③ 把舊表的數(shù)據(jù)復(fù)制過來MYSQL數(shù)據(jù)庫
insert into new_table(filed1,filed2…) select filed1,filed2,… from old_table
④ 刪除舊表,重命名新表的名字為舊表的名字MYSQL數(shù)據(jù)庫
不過這里需要注意,執(zhí)行第三步的時候,可能這個過程也需要時間,這個時候有新的數(shù)據(jù)進來,所以原來的表如果有字段記錄了數(shù)據(jù)的寫入時間就最好了,可以找到執(zhí)行這一步操作之后的數(shù)據(jù),并重復(fù)導(dǎo)入到新表,直到數(shù)據(jù)差異很小.不過還是會可能損失極少量的數(shù)據(jù).MYSQL數(shù)據(jù)庫
所以,如果表的數(shù)據(jù)特別大,同時又要保證數(shù)據(jù)完整,最好停機操作.MYSQL數(shù)據(jù)庫
另外的辦法:MYSQL數(shù)據(jù)庫
1.在從庫進行加字段操作,然后主從切換MYSQL數(shù)據(jù)庫
2.使用第三方在線改字段的工具MYSQL數(shù)據(jù)庫
一般情況下,十幾萬的數(shù)據(jù)量,可以直接進行加字段操作.MYSQL數(shù)據(jù)庫
總結(jié)MYSQL數(shù)據(jù)庫
以上就是關(guān)于在MySQL大表中加字段的實現(xiàn)思路,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的贊助,如果有疑問大家可以留言交流.
MYSQL數(shù)據(jù)庫
維易PHP培訓(xùn)學(xué)院每天發(fā)布《MYSQL數(shù)據(jù)庫MySQL中大數(shù)據(jù)表增加字段的實現(xiàn)思路》等實戰(zhàn)技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培養(yǎng)人才。
轉(zhuǎn)載請注明本頁網(wǎng)址:
http://www.fzlkiss.com/jiaocheng/13080.html