Mysql資料庫大表歸檔操作

2021-09-07 05:56:45 字數 2134 閱讀 3072

由於公司的某個系統資料表過億,考慮到資料表的壓力。所以根據某個時間點對資料表做了乙個歸檔。以下的操作是在當前的資料庫新建表用於儲存歷史資料,然後再對生產表做乙個清理操作。如果有條件的話可以把歸檔的資料放在一台新的資料庫伺服器上。(具體的表名和時間結點根據自己需要修改)

歸檔sql:

方法一:  複製表並且按照條件插入資料(此種方法除了主鍵索引不包括其他索引)

create

table lime_survey_549656_20151001 as

select

*from lime_survey_549656 where submitdate < "2015-10

-0100:00:00

";

alter

table lime_survey_549656_20151001 change id id int

primary

keyauto_increment;

create

table lime_survey_186194_20151001 as

select

*from lime_survey_186194 where submitdate < "2015-10

-0100:00:00

";

alter

table lime_survey_186194_20151001 change id id int

primary

keyauto_increment;

create

table lime_survey_279575_20151001 as

select

*from lime_survey_279575 where submitdate < "2015-10

-0100:00:00

";

alter

table lime_survey_279575_20151001 change id id int

primary

key auto_increment;

方法二: 建立一張空表,結構和索引和原表一樣

create

table lime_survey_549656_20151001 like

lime_survey_549656;

insert

into lime_survey_549656_20151001 select

*from lime_survey_549656 where submitdate < "2015-10

-0100:00:00

";

create

table lime_survey_186194_20151001 like

lime_survey_186194;

insert

into lime_survey_186194_20151001 select

*from lime_survey_186194 where submitdate < "2015-10

-0100:00:00

";

create

table lime_survey_279575_20151001 like

lime_survey_279575;

insert

into lime_survey_279575_20151001 select

*from lime_survey_279575 where submitdate < "2015-10

-0100:00:00";

資料歸檔成功後清理資料sql:

deletefrom lime_survey_549656  where submitdate < "2015-10

-0100:00:00

";

deletefrom lime_survey_186194

where submitdate < "2015-10

-0100:00:00

";

deletefrom lime_survey_279575

where submitdate < "2015-10

-0100:00:00";

Mysql資料庫大表歸檔操作

由於公司的某個系統資料表過億,考慮到資料表的壓力。所以根據某個時間點對資料表做了乙個歸檔。以下的操作是在當前的資料庫新建表用於儲存歷史資料,然後再對生產表做乙個清理操作。如果有條件的話可以把歸檔的資料放在一台新的資料庫伺服器上。具體的表名和時間結點根據自己需要修改 歸檔sql 方法一 複製表並且按照...

mysql 建表歸檔 Mysql資料庫大表歸檔操作

解決 centos網絡卡eth0啟用不了問題 root localhost desktop service net c 獲取執行程式的程序id c 獲取執行程式的程序id dllimport user32.dll charset charset.auto public static extern i...

1 歸檔以及資料庫操作

歸檔的操作 nullable instancetype initwithcoder nscoder adecoder 1.sqlite3的使用 1 要使用sqlite3,先要新增庫檔案libsqlite3.dylib 2.fmdb的介紹 資料庫框架,以oc的方式封裝了sqlite的c語言api,使用...