一、背景
- 老大安排要對某張大容量表進行分割,根據年份分割成多張表,
二、水平分割
- 水平拆分是指資料表行的拆分,表的行數超過百萬行時,就會變慢,這時可以把一張的表的資料拆成多張表來存放,
- 定義規則分表后,表結構與原表相同,查詢性能會提高,
- ·····
三、步驟,
- 做好備份
- 根據年份創建磁區表(t_user_data_年份)
1 -- 創建和原表結構相同的磁區表 2 create table t_user_data_2019 like t_sys_user; 3 create table t_user_data_2018 like t_sys_user; 4 create table t_user_data_2017 like t_sys_user; 5 create table t_user_data_2016 like t_sys_user;
- 找出各年份的資料,并將其插入到磁區表
1 -- 找出各個年份的資料,并將其插入到磁區表 2 select * from t_sys_user where DATE_FORMAT(create_time,'%Y') = '2017'; 3 INSERT INTO t_user_data_2017 select * from t_sys_user where DATE_FORMAT(create_time,'%Y') = '2017'; 4 select * from t_sys_user where DATE_FORMAT(create_time,'%Y') = '2018'; 5 INSERT INTO t_user_data_2018 select * from t_sys_user where DATE_FORMAT(create_time,'%Y') = '2018'; 6 select * from t_sys_user where DATE_FORMAT(create_time,'%Y') = '2019'; 7 INSERT INTO t_user_data_2019 select * from t_sys_user where DATE_FORMAT(create_time,'%Y') = '2019';
- 記錄及備份
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/95846.html
標籤:MySQL
下一篇:會導致索引失效陳述句
