10.2.4 散列分区
在很多情况下,用户无法预测某个列上数据的变化范围,因而无法事先创建固定数量的范围分区或列表分区,使用户的数据按照分区列上的数据分布在相应的分区中。
在这种情况下,可以创建散列分区。当用户向表中写入数据时,数据库服务器将根据一个散列函数对数据进行计算,把数据均匀地分布在各个分区中。在散列分区中,用户无法预测数据将被写入哪个分区。
现在我们重新考虑产品销售表的例子。如果销售城市不是相对固定的,而是遍布全国各地,这时很难对该表进行列表分区。如果为该表进行散列分区,可以很好地解决这个问题。
SQL>CREATE TABLE sales(
sales_id number(6),
year number(4),
month number(2),
day number(2),
salesman char(8),
city char(10))
PARTITION BY HASH(city)
(PARTITION P1,
PARTITION P2,
PARTITION P3,
PARTITION P4
);