CREATE TABLE user_info_temp (
id bigint(28) NOT NULL AUTO_INCREMENT,
name varchar(32) NOT NULL COMMENT '名称',
)
RENAME TABLE user_info TO user_info_old;
RENAME TABLE user_info_temp TO user_info;
#插入近期几分钟需要的数据,后面再插入之前的数据
INSERT INTO user_info SELECT * FROM user_info_old old WHERE old.create_time >= '2022-11-24 15:00:00';
#按小时来,不然数据太多,插入时间太长可能造成数据库卡顿
INSERT INTO user_info SELECT * FROM user_info_old old WHERE old.create_time >= '2022-11-24 00:00:00' and old.create_time < '2022-11-24 01:00:00';
アイデア:
- まず、元のテーブルと同じ一時テーブルを作成します。フィールドの属性を変更する必要がある場合は、この時点で変更することもできます。
- 元の大きなテーブルに別のテーブルという名前を付け、古いものを追加します
- 次に、データを迅速かつ簡単に移行できるように、一時テーブルに元のテーブルという名前を付けます。
- もちろん、元のデータを使用する必要がある場合は、最初に最近使用された可能性のあるデータを挿入し、次に以前のデータを挿入します。