分布式 DBA: 创建和使用分区表
2010-09-16 00:00:00 来源:WEB开发网DurationLabel:如果分区键列的数据类型是日期、时间或时间戳,这个参数指定与 Constant 值相关的时间单位。这个参数的有效值是:YEAR、YEARS、MONTH、MONTHS、DAY、DAYS、HOUR、HOURS、MINUTE、MINUTES、SECOND、SECONDS、MICROSECOND 和 MICROSECONDS。
TSName:指定存储每个数据分区的表空间。
IndexTSName:指定存储每个数据分区的分区索引的表空间。
LongTSName:指定存储长列的值的表空间。
注意:尖括号 (< >) 中的参数是可选的;方括号 ([ ]) 中的参数或选项是必需的,必须提供它们;逗号后面跟着省略号 (...) 表示前面的参数可以重复出现多次。
因此,如果希望创建一个名为 SALES 的分区表,把每个季度的数据存储在单独的分区中,每个分区驻留在不同的表空间中,那么可以执行以下 CREATE TABLE 语句:
CREATE TABLE sales
(sales_date DATE,
sales_amt NUMERIC(5,2))
IN tbsp0, tbsp1, tbsp2, tbsp3
PARTITION BY RANGE (sales_date)
(STARTING '1/1/2010' ENDING '12/31/2010'
EVERY 3 MONTHS)
图 1 说明生成的表是什么样的。
图 1. 一个简单分区表中存储的数据
另一方面,如果希望创建一个名为 INVENTORY 的分区表,把物品编号在 1 到 100 之间的行存储在一个表空间中的一个分区中,把编号在 101 到 200 之间的行存储在另一个表空间中的另一个分区中,以此类推,那么可以执行下面的 SQL 语句:
更多精彩
赞助商链接