PARTITION BY RANGE
时间: 2024-08-14 21:07:58 浏览: 77
MySQL中创建数据表Range分区.pdf
`PARTITION BY RANGE` 是 SQL 中的一种分区技术,它用于数据库查询优化,将数据表按照某个数值范围划分为多个子集(分区)。每个分区包含一组连续的记录,这些记录具有相似的值范围。这样做的好处是可以加快查询速度,特别是对于涉及范围筛选的查询。
例如,在一个日期类型的列上应用 `RANGE` 分区,可以创建如下的分区:
```sql
CREATE TABLE sales (
sale_date DATE,
sale_amount DECIMAL(10,2),
-- 其他列...
)
PARTITION BY RANGE (sale_date)
(
PARTITION p1 VALUES LESS THAN (TO_DATE('2021-01-01')),
PARTITION p2 VALUES LESS THAN (TO_DATE('2022-01-01')),
PARTITION p3 VALUES LESS THAN MAXVALUE
);
```
在这个例子中,`sales` 表被分为了三个区间:销售日期早于2021年1月1日的数据存放在 `p1` 区间,2021年1月1日至2021年12月31日之间的数据在 `p2`,剩下的数据在 `p3`。
执行范围筛选时,查询只需遍历对应的分区,而不是整个表,从而提高了性能。
阅读全文