RANGE-HASH
本文檔介紹了創(chuàng)建RANGE-HASH分區(qū)表的方法。
語法
創(chuàng)建RANGE-HASH分區(qū)表。一級分區(qū)是RANGE [COLUMNS] 類型,二級分區(qū)是HASH/KEY類型。
CREATE TABLE [ schema. ]table_name
table_definition
PARTITION BY RANGE {(expr) | COLUMNS(column_list)}
SUBPARTITION BY {[LINEAR] HASH(expr) [SUBPARTITIONS number]
| [LINEAR] KEY [ALGORITHM={1 | 2}] (column_list)}
(partition_definition [, partition_definition] ...);
其中,partition_definition為
PARTITION partition_name
VALUES LESS THAN {(expr | value_list) | MAXVALUE}
(subpartition_definition [, subpartition_definition] ...)
subpartition_definition為
SUBPARTITION subpartition_name
參數(shù)
參數(shù)名稱 | 參數(shù)說明 |
expr | 分區(qū)字段表達(dá)式,目前只支持INT類型,不支持字符類型。 |
column_list | 分區(qū)字段列表,不支持表達(dá)式。 |
number | 子分區(qū)的數(shù)量。 |
value | 分區(qū)邊界值。 |
value_list | RANGE COLUMNS的情況下使用,多個字段的邊界值。 |
MAXVALUE | 最大值。 |
partition_name | 分區(qū)名稱,同一個表中不可重復(fù)。 |
subpartition_name | 子分區(qū)名稱,同一個表中不可重復(fù)。 |
示例
RANGE-HASH類型的使用示例:
CREATE TABLE sales_range_hash
(
s_id varchar(20),
dept_no INT,
part_no INT,
country varchar(20),
date DATE,
amount INT,
primary key (s_id, date)
)
PARTITION BY RANGE COLUMNS(date)
SUBPARTITION BY KEY(s_id) SUBPARTITIONS 3
(
PARTITION p1 VALUES LESS THAN('2023-01-01'),
PARTITION p2 VALUES LESS THAN('2023-02-01'),
PARTITION p3 VALUES LESS THAN('2023-03-01'),
PARTITION p4 VALUES LESS THAN('2023-04-01')
);
文檔內(nèi)容是否對您有幫助?