這篇文章將為大家詳細(xì)講解有關(guān)MySQL中大數(shù)據(jù)表如何增加字段,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
成都網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)!專注于網(wǎng)頁(yè)設(shè)計(jì)、成都網(wǎng)站建設(shè)、微信開(kāi)發(fā)、小程序開(kāi)發(fā)、集團(tuán)成都定制網(wǎng)站等服務(wù)項(xiàng)目。核心團(tuán)隊(duì)均擁有互聯(lián)網(wǎng)行業(yè)多年經(jīng)驗(yàn),服務(wù)眾多知名企業(yè)客戶;涵蓋的客戶類型包括:成都石牌坊等眾多領(lǐng)域,積累了大量豐富的經(jīng)驗(yàn),同時(shí)也獲得了客戶的一致認(rèn)可!
增加字段相信大家應(yīng)該都不陌生,隨手就可以寫出來(lái),給 MySQL 一張表加字段執(zhí)行如下 sql 就可以了:
ALTER TABLE tbl_tpl ADD title(255) DEFAULT '' COMMENT '標(biāo)題' AFTER id;
但是線上的一張表如果數(shù)據(jù)量很大呢,執(zhí)行加字段操作就會(huì)鎖表,這個(gè)過(guò)程可能需要很長(zhǎng)時(shí)間甚至導(dǎo)致服務(wù)崩潰,那么這樣操作就很有風(fēng)險(xiǎn)了。
① 創(chuàng)建一個(gè)臨時(shí)的新表,首先復(fù)制舊表的結(jié)構(gòu)(包含索引)
create table new_table like old_table;
② 給新表加上新增的字段
③ 把舊表的數(shù)據(jù)復(fù)制過(guò)來(lái)
insert into new_table(filed1,filed2…) select filed1,filed2,… from old_table
④ 刪除舊表,重命名新表的名字為舊表的名字
不過(guò)這里需要注意,執(zhí)行第三步的時(shí)候,可能這個(gè)過(guò)程也需要時(shí)間,這個(gè)時(shí)候有新的數(shù)據(jù)進(jìn)來(lái),所以原來(lái)的表如果有字段記錄了數(shù)據(jù)的寫入時(shí)間就最好了,可以找到執(zhí)行這一步操作之后的數(shù)據(jù),并重復(fù)導(dǎo)入到新表,直到數(shù)據(jù)差異很小。不過(guò)還是會(huì)可能損失極少量的數(shù)據(jù)。
所以,如果表的數(shù)據(jù)特別大,同時(shí)又要保證數(shù)據(jù)完整,最好停機(jī)操作。
在從庫(kù)進(jìn)行加字段操作,然后主從切換
使用第三方在線改字段的工具
一般情況下,十幾萬(wàn)的數(shù)據(jù)量,可以直接進(jìn)行加字段操作。
關(guān)于“MySQL中大數(shù)據(jù)表如何增加字段”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。