在 SQL Server 中,分区表是一种将单个表的数据分散到多个物理存储区域的方法
CREATE PARTITION FUNCTION pf_DateRange (datetime)
AS RANGE RIGHT FOR VALUES ('2020-01-01', '2021-01-01', '2022-01-01');
CREATE PARTITION SCHEME ps_DateRange
AS PARTITION pf_DateRange
TO ([PRIMARY], [FG1], [FG2], [FG3], [FG4], [FG5], [FG6], [FG7], [FG8], [FG9], [FG10], [FG11], [FG12]);
SalesData
的分区表,该表包含一个名为 SaleDate
的日期列作为分区键。CREATE TABLE SalesData (
SaleID INT IDENTITY(1,1) PRIMARY KEY,
ProductID INT,
SaleDate DATETIME,
Amount DECIMAL(10, 2)
) ON ps_DateRange(SaleDate);
现在,SalesData
表已经是一个分区表,它将根据 SaleDate
列的值分布在不同的分区上。这可以提高查询性能,因为 SQL Server 可以仅在相关的分区上执行查询,而不是扫描整个表。