mysql的表分区
什么是表的分區:
通俗地講表分區是將一大表,根據條件分割成若干個小表。mysql5.1開始支持數據表分區了。
ANGE分區:基于屬于一個給定連續區間的列值,把多行分配給分區。?
LIST分區:類似于按RANGE分區,區別在于LIST分區是基于列值匹配一個離散值集合中的某個值來進行選擇。?
HASH分區:基于用戶定義的表達式的返回值來進行選擇的分區,該表達式使用將要插入到表中的這些行的列值進行計算。這個函數可以包含MySQL 中有效的、產生非負整數值的任何表達式。
KEY分區:類似于按HASH分區,區別在于KEY分區只支持計算一列或多列,且MySQL 服務器提供其自身的哈希函數。必須有一列或多列包含整數值。
1.增加分區
1.1RANGE
范圍分區? ??range (id)?中的id為分區鍵,less than是小于的意思。
alter table `cdb_test` partition by range (id) (partition `p0` values less than (2),partition `p1` values less than (4),partition `p2` values less than (maxvalue) )時間分區?range(TO_DAYS(ts))中的ts為分區鍵,less than是小于的意思。
alter table jyz_jyzqgdwa partition by range(TO_DAYS(rq)) (partition p0 values less than(TO_DAYS('2019-12-01')),partition p1 values less than(TO_DAYS('2020-02-01')),partition p2 values less than(TO_DAYS('2020-04-01')),partition p3 values less than(TO_DAYS('2020-06-01')),partition p4 values less than(TO_DAYS('2020-08-01')),partition p5 values less than(TO_DAYS('2020-10-01')),partition p6 values less than(TO_DAYS('2020-12-01')),partition p7 values less than(TO_DAYS('2021-02-01')),partition p8 values less than(TO_DAYS('2021-04-01')),partition p9 values less than(TO_DAYS('2021-06-01')),partition p10 values less than(TO_DAYS('2021-08-01')),partition p11 values less than(TO_DAYS('2021-10-01')),partition p12 values less than(TO_DAYS('2021-12-01')),partition p13 values less than(TO_DAYS('2022-02-01')),partition p14 values less than maxvalue) partition by range(TO_DAYS(rq)) (partition p0 values less than(TO_DAYS('20190101')),partition p1 values less than(TO_DAYS('20190201')),partition p2 values less than(TO_DAYS('20190301')),partition p3 values less than(TO_DAYS('20190401')),partition p4 values less than(TO_DAYS('20190501')),partition p5 values less than(TO_DAYS('20190601')),partition p6 values less than(TO_DAYS('20190701')),partition p7 values less than(TO_DAYS('20190801')),partition p8 values less than(TO_DAYS('20190901')),partition p9 values less than(TO_DAYS('20191001')),partition p10 values less than(TO_DAYS('20191101')),partition p11 values less than(TO_DAYS('20191201')),partition p12 values less than(TO_DAYS('20200101')),partition p13 values less than(TO_DAYS('20200201')),partition p14 values less than(TO_DAYS('20200301')),partition p15 values less than(TO_DAYS('20200401')),partition p16 values less than(TO_DAYS('20200501')),partition p17 values less than(TO_DAYS('20200601')),partition p18 values less than(TO_DAYS('20200701')),partition p19 values less than(TO_DAYS('20200801')),partition p20 values less than(TO_DAYS('20200901')),partition p21 values less than(TO_DAYS('20201001')),partition p22 values less than(TO_DAYS('20201101')),partition p23 values less than(TO_DAYS('20201201')),partition p24 values less than(TO_DAYS('20220101')),partition p25 values less than(TO_DAYS('20220201')),partition p26 values less than(TO_DAYS('20220301')),partition p27 values less than(TO_DAYS('20220401')),partition p28 values less than(TO_DAYS('20220501')),partition p29 values less than(TO_DAYS('20220601')),partition p30 values less than(TO_DAYS('20220701')),partition p31 values less than(TO_DAYS('20220801')),partition p32 values less than(TO_DAYS('20220901')),partition p33 values less than(TO_DAYS('20221001')),partition p34 values less than(TO_DAYS('20221101')),partition p35 values less than(TO_DAYS('20221201')),partition p36 values less than(TO_DAYS('20230101')),partition p37 values less than(TO_DAYS('20230201')),partition p38 values less than(TO_DAYS('20230301')),partition p39 values less than(TO_DAYS('20230401')),partition p40 values less than(TO_DAYS('20230501')),partition p41 values less than(TO_DAYS('20230601')),partition p42 values less than(TO_DAYS('20230701')),partition p43 values less than(TO_DAYS('20230801')),partition p44 values less than(TO_DAYS('20230901')),partition p45 values less than(TO_DAYS('20231001')),partition p46 values less than(TO_DAYS('20231101')),partition p47 values less than(TO_DAYS('20231201')),partition p48 values less than(TO_DAYS('20240101')),partition p49 values less than(TO_DAYS('20240201')),partition p50 values less than(TO_DAYS('20240301')),partition p51 values less than(TO_DAYS('20240401')),partition p52 values less than(TO_DAYS('20240501')),partition p53 values less than(TO_DAYS('20240601')),partition p54 values less than(TO_DAYS('20240701')),partition p55 values less than(TO_DAYS('20240801')),partition p56 values less than(TO_DAYS('20240901')),partition p57 values less than(TO_DAYS('20241001')),partition p58 values less than(TO_DAYS('20241101')),partition p59 values less than(TO_DAYS('20241201')),partition p60 values less than maxvalue) PARTITION BY RANGE COLUMNS (rq) (PARTITION p0 VALUES LESS THAN ('2019-01-01'),PARTITION p1 VALUES LESS THAN ('2019-02-01'),PARTITION p2 VALUES LESS THAN ('2019-03-01'),PARTITION p3 VALUES LESS THAN ('2019-04-01'),PARTITION p4 VALUES LESS THAN ('2019-05-01'),PARTITION p5 VALUES LESS THAN ('2019-06-01'),PARTITION p6 VALUES LESS THAN ('2019-07-01'),PARTITION p7 VALUES LESS THAN ('2019-08-01'),PARTITION p8 VALUES LESS THAN ('2019-09-01'),PARTITION p9 VALUES LESS THAN ('2019-10-01'),PARTITION p10 VALUES LESS THAN ('2019-11-01'),PARTITION p11 VALUES LESS THAN ('2019-12-01'),PARTITION p12 VALUES LESS THAN ('2020-01-01'),PARTITION p13 VALUES LESS THAN ('2020-02-01'),PARTITION p14 VALUES LESS THAN ('2020-03-01'),PARTITION p15 VALUES LESS THAN ('2020-04-01'),PARTITION p16 VALUES LESS THAN ('2020-05-01'),PARTITION p17 VALUES LESS THAN ('2020-06-01'),PARTITION p18 VALUES LESS THAN ('2020-07-01'),PARTITION p19 VALUES LESS THAN ('2020-08-01'),PARTITION p20 VALUES LESS THAN ('2020-09-01'),PARTITION p21 VALUES LESS THAN ('2020-10-01'),PARTITION p22 VALUES LESS THAN ('2020-11-01'),PARTITION p23 VALUES LESS THAN ('2020-12-01'),PARTITION p24 VALUES LESS THAN ('2021-01-01'),PARTITION p25 VALUES LESS THAN ('2021-02-01'),PARTITION p26 VALUES LESS THAN ('2021-03-01'),PARTITION p27 VALUES LESS THAN ('2021-04-01'),PARTITION p28 VALUES LESS THAN ('2021-05-01'),PARTITION p29 VALUES LESS THAN ('2021-06-01'),PARTITION p30 VALUES LESS THAN ('2021-07-01'),PARTITION p31 VALUES LESS THAN ('2021-08-01'),PARTITION p32 VALUES LESS THAN ('2021-09-01'),PARTITION p33 VALUES LESS THAN ('2021-10-01'),PARTITION p34 VALUES LESS THAN ('2021-11-01'),PARTITION p35 VALUES LESS THAN ('2021-12-01'),PARTITION p36 VALUES LESS THAN ('2022-01-01'),PARTITION p37 VALUES LESS THAN ('2022-02-01'),PARTITION p38 VALUES LESS THAN ('2022-03-01'),PARTITION p39 VALUES LESS THAN ('2022-04-01'),PARTITION p40 VALUES LESS THAN ('2022-05-01'),PARTITION p41 VALUES LESS THAN ('2022-06-01'),PARTITION p42 VALUES LESS THAN ('2022-07-01'),PARTITION p43 VALUES LESS THAN ('2022-08-01'),PARTITION p44 VALUES LESS THAN ('2022-09-01'),PARTITION p45 VALUES LESS THAN ('2022-10-01'),PARTITION p46 VALUES LESS THAN ('2022-11-01'),PARTITION p47 VALUES LESS THAN ('2022-12-01'),PARTITION p48 VALUES LESS THAN ('2023-01-01'),PARTITION p49 VALUES LESS THAN ('2023-02-01'),PARTITION p50 VALUES LESS THAN ('2023-03-01'),PARTITION p51 VALUES LESS THAN ('2023-04-01'),PARTITION p52 VALUES LESS THAN ('2023-05-01'),PARTITION p53 VALUES LESS THAN ('2023-06-01'),PARTITION p54 VALUES LESS THAN ('2023-07-01'),PARTITION p55 VALUES LESS THAN ('2023-08-01'),PARTITION p56 VALUES LESS THAN ('2023-09-01'),PARTITION p57 VALUES LESS THAN ('2023-10-01'),PARTITION p58 VALUES LESS THAN ('2023-11-01'),PARTITION p59 VALUES LESS THAN ('2023-12-01'),PARTITION p60 VALUES LESS THAN MAXVALUE);1.2List
list(id)中的id為分區鍵,p0為id為3和5的精確分區。
alter table `cdb_test` partition by list(id) (partition `p0` values in (3,5),partition `p1` values in (6,7,8,10,15),)1.3hash
hash(id)中的id為分區鍵,partitions為分區的數量;HASH 分區只支持數字分區,如果分區鍵為varchar可使用key分區
alter table `cdb_test` partition by hash(id) (partitions 10; )1.4key?
同hash分區,但還是有所區別。區別在于KEY分區只支持計算一列或多列,且MySQL 服務器提供其自身的哈希函數。必須有一列或多列包含整數值。
alter table `cdb_test` partition by LINEAR KEY (id) (partitions 10; )2.查看分區
select partition_name part, partition_expression expr, partition_description descr, table_rows from information_schema.partitions where table_schema = schema() and table_name='record1'; --record1查詢的表名3.刪除分區
ALTER TABLE `cdb_test` DROP PARTITION s20100406 ;?
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
- 上一篇: springboot 各种日志打印
- 下一篇: MYSQL监控命令