Mysql資料庫大表歸檔操作

2022-05-06 09:57:10 字數 1926 閱讀 8522

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

歸檔sql:

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

[sql]view plain

copy

create table lime_survey_549656_20151001 as select * from lime_survey_549656  where submitdate < "2015-10-01 00:00:00";  

alter table lime_survey_549656_20151001 change id id int primary key auto_increment;  

create table lime_survey_186194_20151001 as select * from lime_survey_186194 where submitdate < "2015-10-01 00:00:00";  

alter table lime_survey_186194_20151001 change id id int primary key auto_increment;  

create table lime_survey_279575_20151001 as select * from lime_survey_279575 where submitdate < "2015-10-01 00:00:00";  

alter table lime_survey_279575_20151001 change id id int primary key auto_increment;  

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

[sql]view plain

copy

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-01 00: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-01 00: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-01 00:00:00";  

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

[sql]view plain

copy

delete from lime_survey_549656  where submitdate < "2015-10-0100:00:00";  

delete from lime_survey_186194  where submitdate < "2015-10-0100:00:00";  

delete from 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,使用...