散列分區就是使用哈希函數,對鍵值進行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函數,也就是說,如果添加分區或者刪除分區,導致所有數據重寫,因爲每一行都可能屬於不同分區