資料庫表--sorted hash clustered table

jelephant發表於2013-12-09
有序雜湊聚簇表(sorted hash clustered table)是10g之後新增。結合了雜湊聚簇和IOT的特性。如果經常使用如下查詢,則很適合使用有序雜湊聚簇表。Select * From t Where KEY=:x Order by SORTED_COLUMN。透過使用有序雜湊聚簇,Oracle可以返回資料而不用執行排序。這是透過插入時按鍵有序物理儲存資料做到的。

建立雜湊聚簇表的步驟:
建立雜湊聚簇
create cluster order_cluster (  
  cust_id number, order_date timestamp sort)  
  hashkeys 1000 size 512 hash is cust_id;
這個雜湊聚簇中的資料將按CUST_ID查詢(查詢條件是 CUST_ID = :X),按ORDER_DATE物理排序。

建立表格
create table cust_orders (  
  cust_id number,  
  order_date timestamp sort,  
  oerder_number number,  
  description varchar2(100))  
  cluster order_cluster(cust_id, order_date);

使用有序雜湊聚簇表時,應當考慮到雜湊聚簇同樣的問題,另外還要考慮到一個約束條件,即資料應該按鍵值的有序順序到達。如果資訊隨機地到達(不按有序的順序到來),插入過程中必須移動大量的資料使得這些行在磁碟上物理有序。在這種情況下,不建議採用有序雜湊聚簇(此時採用IOT可能很合適)。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29337971/viewspace-1062760/,如需轉載,請註明出處,否則將追究法律責任。

相關文章