# SCHEMA 的设计 - 分区表

+ 当前支持的分区类型包括 Range 分区、List 分区、List COLUMNS 分区和 Hash 分区
+ Range 分区，List 分区和 List COLUMNS 分区可以用于解决业务中大量删除带来的性能问题
+ Hash 分区则可以用于大量写入场景下的数据打散
+ 分区表的每个唯一键或主键，必须包含分区表达式中用到的所有列
+ 有效分区表和无效分区表：
```
CREATE TABLE t1 (
    col1 INT NOT NULL,
    col2 DATE NOT NULL,
    col3 INT NOT NULL,
    col4 INT NOT NULL,
    UNIQUE KEY (col1, col2, col3)
)
PARTITION BY HASH(col3)
PARTITIONS 4;

CREATE TABLE t1 (
    col1 INT NOT NULL,
    col2 DATE NOT NULL,
    col3 INT NOT NULL,
    col4 INT NOT NULL,
    UNIQUE KEY (col1, col2)
)
PARTITION BY HASH(col3)
PARTITIONS 4;
```
-------------------------------------------------------------
分区表 
当前支持的类型包括 Range 分区、List 分区、List COLUMNS 分区和 Hash 分区
- Range 分区，List 分区和 List COLUMNS 分区可以用于解决业务中大量删除带来的性能问题，支持快速删除分区。
- Hash 分区则可以用于大量写入场景下的数据打散。
- 分区表的每个唯一键或主键，必须包含分区表达式中用到的所有列
  - 无效的分区表
CREATE TABLE t1 (
    col1 INT NOT NULL,
    col2 DATE NOT NULL,
    col3 INT NOT NULL,
    col4 INT NOT NULL,
    UNIQUE KEY (col1, col2)
)
PARTITION BY HASH(col3)
PARTITIONS 4;

CREATE TABLE t1 (
    col1 INT NOT NULL,
    col2 DATE NOT NULL,
    col3 INT NOT NULL,
    col4 INT NOT NULL,
    UNIQUE KEY (col1, col2, col3)
)
PARTITION BY HASH(col3)
PARTITIONS 4;
