GaussDB 双层分区语法示例
时间: 2024-10-25 12:15:04 浏览: 20
GaussDB是一款兼容MySQL的开源数据库,其双层分区(也称为级别分区)是一种常见的分区策略,它将表分成两层:物理分区和逻辑分区。这种分区方式通常用于按时间范围、地理位置或其他易于分割的关键字进行高效的数据存储。
以下是一个简单的双层分区语法示例:
```sql
CREATE TABLE sales (
order_id INT,
product_code VARCHAR(10),
sale_date DATE,
amount DECIMAL(10, 2)
) PARTITION BY RANGE (sale_date) (
PARTITION p0 VALUES LESS THAN ('2021-01-01'),
PARTITION p1 VALUES LESS THAN ('2022-01-01'),
-- 第二层分区,基于产品码
SUBPARTITION sp1 BY LIST (product_code) (
SUBPARTITION sp1_1 VALUES IN ('A', 'B'),
SUBPARTITION sp1_2 VALUES IN ('C', 'D')
),
PARTITION p2 VALUES GREATER THAN OR EQUAL TO ('2022-01-01')
);
```
在这个例子中,`sales`表按`sale_date`字段分为三个区间,每个区间内又有基于`product_code`的二级分区。这使得可以根据日期或产品代码快速访问数据。
阅读全文