散列分区就是使用哈希函数,对键值进行hash,来确定将记录放在那个分区。oracle建议分区数为2的n次方个,从而得到分区最佳。
散列分区能将数据均匀分布在各个区间中
create table hash_example
(
hash_key number,
data varchar2(20)
)
partition by hash(hash_key)
(
partition hash_part1 tablespace learn,
partition hash_part2 tablespace example
)
insert into hash_example(hash_key,data) select level ,level from dual connect by level<100 ; 插入99条记录
commit;
决定每一条记录放在哪一个分区的事hash函数,也就是说,如果添加分区或者删除分区,导致所有数据重写,因为每一行都可能属于不同分区