mysql

MySQL表归档(冷备)方案

2022-03-20  本文已影响0人  HachiLin

相信好多公司都会抓系统的慢sql,慢sql会导致数据库的压力大,拖慢接口的查 询速率。
解决慢sql主要有三种方式:
1)优化sql 2)优化代码 3)大表进行归档
其中,1)和2)是要根据自己系统和sql进行针对性优化,取决于你的业务场景。今天我想讲的是方法3),对于一个大表而言,如果只是用到新增数据,历史数据就可以考虑进行归档。归档方案如下

1.SQL脚本         
ALTER  TABLE XXX RENAME TO XXX_20220314;         
CREATE TABLE IF NOT EXISTS XXX like XXX_20220314;         
ALTER TABLE `db`.`XXX`          
ADD INDEX `idx_XX`(`col1`, `col2`, ...) USING BTREE; // 新增原先表索引              
2.回滚方案         
ALTER  TABLE XXX RENAME TO XXX_rollback;         
ALTER  TABLE XXX_20220314 RENAME TO XXX;         
INSERT INTO XXX SELECT * FROM XXX_rollback; // 插入新增数据
上一篇下一篇

猜你喜欢

热点阅读