最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySql中數(shù)據(jù)表增加字段很慢問題及解決

 更新時間:2024年04月11日 09:16:07   作者:獅子君的石榴  
這篇文章主要介紹了MySql中數(shù)據(jù)表增加字段很慢問題及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

MySql數(shù)據(jù)表增加字段很慢

由于數(shù)據(jù)庫表中有大量數(shù)據(jù),導(dǎo)致給表添加字段就會很慢。

所以,對于數(shù)據(jù)量很大的表,需要添加所有或者修改字段的做法是如下:

1.先創(chuàng)建一張一樣的表

create table new_tb like tb_old;

2.修改創(chuàng)建表的字段

alter table new_tb add COLUMN new_column varchar(32) DEFAULT null;

3.原始數(shù)據(jù)插入到新的數(shù)據(jù)表中

insert into new_tb (字段) select 字段 from tb_old;

這里需要注意下,你的insert字段和你查詢出來的字段一致,對應(yīng)順序也是需要一致的,如果你只是修改字段的屬性,或者添加了索引之類的,字段數(shù)量沒用變話,那么直接這樣寫

insert into new_tb select * from tb_old;

4.刪除原來的數(shù)據(jù)表,并且重新命名新的數(shù)據(jù)表:

drop table tb_old;
alter table new_tb rename to tb_old;

MySql大表加字段問題

場景

現(xiàn)在 有個數(shù)據(jù)量大概40億的數(shù)據(jù),存在10個庫,總計80張表上面,每個表大概5000萬的數(shù)據(jù)量,

這個表通過一個MQ接口不斷地接收數(shù)據(jù),每天大概新增或更新數(shù)據(jù)量是幾十萬。

現(xiàn)在,需要在在這個表上加個新字段X,而且都有初始值,都存儲在對方系統(tǒng)的數(shù)據(jù)庫里。而他們這個新的字段一直就有。只是我方系統(tǒng)一直以來沒有接這個字段。

注意:加字段期間不能影響原有的查這張表的業(yè)務(wù)的使用。

問:如何新增。

首先,肯定不能在表上面直接加字段,數(shù)據(jù)量太大,直接加字段,sql一夜都跑不完。而且會影響查詢業(yè)務(wù)的使用

方案如下

  • 第一步,我們同樣的數(shù)據(jù)庫的位置,在老表的_old下方創(chuàng)建新表_new ,字段結(jié)構(gòu)完全一樣,只是多了新字段X。
  • 第二步,讓對方系統(tǒng)把老的40億數(shù)據(jù)推到hive上面,做準備,時間節(jié)點記為1月1日零時,大概三天推上去;
  • 第三步,在此之前,建立一個新接口,一個臨時表new_temporary從1月1日零時,就開始接數(shù)據(jù)到臨時表;
  • 第四部,啟動拉數(shù)據(jù)任務(wù)流,每天半夜從hive拉數(shù)據(jù),拉倒新表new,拉的時候記得max_binlog_cache_size 改大,不然一次入庫會撐爆,大概10天左右拉完,截止時間1月15日零時。(這個時間節(jié)點要用)
  • 第五步,拉數(shù)據(jù)完畢后,啟動一個定時任務(wù),把從臨時表new_temporary接收的數(shù)據(jù),更新到新表_new。更新條件是,只對數(shù)據(jù)庫更新時間是 1月15日零時之前的數(shù)據(jù)做更新
  • 第六步,同時切換接口開關(guān),關(guān)閉接臨時表的接口,打開接新表接入數(shù)據(jù)的接口。同時入老表old的接口也不能關(guān),預(yù)防漏發(fā)數(shù)據(jù)隨時切回來。
  • 第七步,修改系統(tǒng)中所有查詢老表old查詢方法,改成查詢新表,用redis加上開關(guān)。上線功能。
  • 第八步,打開開關(guān),使用新表,若有漏發(fā)數(shù)據(jù)(少量),這提醒對方系統(tǒng)補發(fā)數(shù)據(jù),逐步補全數(shù)據(jù),
  • 第九步,等系統(tǒng)運行平穩(wěn)以后,關(guān)掉接老表old數(shù)據(jù)的接口,刪除臨時表new_temporary,刪除老表_old

感悟:

本來加一個字段不算太大的事,可是因為數(shù)據(jù)量大,又要保證可用性,所以還是需要一套方案來做這個事情。

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 一個字段同時滿足多個條件的查詢

    一個字段同時滿足多個條件的查詢

    當一個字段需要同時等于多個值的時候,用and直接連不會有數(shù)據(jù)查出。
    2011-08-08
  • MySQL刪除了記錄不生效的原因排查

    MySQL刪除了記錄不生效的原因排查

    這篇文章主要介紹了MySQL刪除了記錄不生效的原因排查,幫助大家解決MySQL刪除語句不生效的問題,感興趣的朋友可以了解下
    2020-11-11
  • MySQL中多表查詢分類及七種JOIN操作的實現(xiàn)方法詳解

    MySQL中多表查詢分類及七種JOIN操作的實現(xiàn)方法詳解

    MySQL的多表查詢是數(shù)據(jù)庫操作中的重要組成部分,它允許我們從多個相關(guān)表中獲取數(shù)據(jù),合并成一個單一的結(jié)果集,這篇文章主要介紹了MySQL中多表查詢分類及七種JOIN操作實現(xiàn)的相關(guān)資料,需要的朋友可以參考下
    2025-09-09
  • MySQL刪除表的三種方式(小結(jié))

    MySQL刪除表的三種方式(小結(jié))

    這篇文章主要介紹了MySQL刪除表的三種方式(小結(jié)),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • 兩大步驟教您開啟MySQL 數(shù)據(jù)庫遠程登陸帳號的方法

    兩大步驟教您開啟MySQL 數(shù)據(jù)庫遠程登陸帳號的方法

    在工作實踐和學(xué)習(xí)中,如何開啟 MySQL 數(shù)據(jù)庫的遠程登陸帳號算是一個難點的問題,以下內(nèi)容便是在工作和實踐中總結(jié)出來的兩大步驟,能幫助DBA們順利的完成開啟 MySQL 數(shù)據(jù)庫的遠程登陸帳號。
    2011-03-03
  • mysql中的各種約束條件深入探討

    mysql中的各種約束條件深入探討

    在mysql中對編輯的數(shù)據(jù)進行類型的限制,不滿足約束條件的報錯,本文給大家分享mysql中的各種約束條件,結(jié)合實例代碼給大家介紹的非常詳細,感興趣的朋友一起看看吧
    2024-05-05
  • MySQL 丟失數(shù)據(jù)的原因及解決

    MySQL 丟失數(shù)據(jù)的原因及解決

    這篇文章主要介紹了MySQL 丟失數(shù)據(jù)的原因及解決,幫助大家更好的理解和學(xué)習(xí)使用MySQL數(shù)據(jù)庫,感興趣的朋友可以了解下
    2021-05-05
  • 21條MySQL優(yōu)化建議(經(jīng)驗總結(jié))

    21條MySQL優(yōu)化建議(經(jīng)驗總結(jié))

    這篇文章主要介紹了21條MySQL優(yōu)化建議,均來自個人的實戰(zhàn)經(jīng)驗總結(jié),需要的朋友可以參考下
    2014-07-07
  • MySQL中觸發(fā)器的基礎(chǔ)學(xué)習(xí)教程

    MySQL中觸發(fā)器的基礎(chǔ)學(xué)習(xí)教程

    這篇文章主要介紹了MySQL中觸發(fā)器的基礎(chǔ)學(xué)習(xí)教程,包括對觸發(fā)器的創(chuàng)建和管理等基本知識,著力推薦!需要的朋友可以參考下
    2015-12-12
  • MySQL5.7 mysqldump備份與恢復(fù)的實現(xiàn)

    MySQL5.7 mysqldump備份與恢復(fù)的實現(xiàn)

    這篇文章主要介紹了MySQL5.7 mysqldump備份與恢復(fù)的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11

最新評論

容城县| 大化| 长汀县| 永宁县| 桐庐县| 金平| 佳木斯市| 渝北区| 延津县| 梁平县| 搜索| 通化市| 桂阳县| 江津市| 始兴县| 横山县| 太仆寺旗| 萍乡市| 桐柏县| 腾冲县| 祁东县| 揭西县| 镇平县| 伊通| 独山县| 武隆县| 繁峙县| 且末县| 西昌市| 宜宾县| 华容县| 叶城县| 剑阁县| 米泉市| 江都市| 揭阳市| 桑日县| 南汇区| 平原县| 玛多县| 崇义县|