在OLTP系統使用索引組織表IOT

hooca發表於2016-04-13
索引組織表IOT
原理:所有列都儲存在索引段。不再使用物理rowid,而是使用邏輯rowid。
適用場景:列數較少,複合主鍵,訪問主鍵為主。

建立:
create table cities
(
  city_id number(6) not null
  ,country_id number(6) not null
  ,city varchar2(25)
  ,country varchar2(25)
  ,constraint cities_pk primary key(city_id,country_id)
)
organization index
tablespace sh
pctthreshold 40
including country_id
overflow tablespace overflow_s;

上例中,
organization index 表示建立的是索引組織表;
pctthreshold 40 表示行的長度佔索引塊大小超過40%將放入溢位段,溢位段在表空間overflow_s。


查詢相關檢視

點選(此處)摺疊或開啟

  1. column table_name format a15
  2. column index_name format a15
    column index_type format a15
    column pct_threshold format 99.99
    column include_column format a35
    select i.table_name,i.index_name,i.index_type,i.pct_threshold,
     nvl(column_name,'NONE') include_column
    from user_indexes i left join user_tab_columns c
    on (i.table_name = c.table_name)
    and (i.include_column = c.column_id)
    where index_type like '%IOT%';


TABLE_NAME      INDEX_NAME      INDEX_TYPE      PCT_THRESHOLD
--------------- --------------- --------------- -------------
INCLUDE_COLUMN
-----------------------------------
CITIES          CITIES_PK       IOT - TOP               40.00
COUNTRY_ID


索引組織表也需要重建以保持訪問效能。

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

相關文章