在 SQL 中,PARTITION
是一個子句,用于將表或索引分成多個獨立的部分
分區可以根據日期、范圍或列表等條件進行。每個分區都有自己的數據存儲和索引結構。這種方法可以提高查詢性能,因為查詢只需要掃描與查詢條件相關的分區,而不是整個表。此外,分區還可以實現數據的分布式處理,從而提高數據管理和存儲效率。
以下是一個使用 PARTITION
子句創建分區表的示例:
CREATE TABLE sales (
order_id INT,
product_id INT,
amount DECIMAL(10, 2),
order_date DATE
)
PARTITION BY RANGE (YEAR(order_date)) (
PARTITION p0 VALUES LESS THAN (2000),
PARTITION p1 VALUES LESS THAN (2010),
PARTITION p2 VALUES LESS THAN MAXVALUE
);
在這個示例中,我們創建了一個名為 sales
的分區表,該表根據 order_date
列的年份進行分區。我們定義了三個分區:p0
(2000 年之前的數據)、p1
(2000 年到 2009 年的數據)和 p2
(2010 年及以后的數據)。