oracle

インデックス情報出力

インデックス一覧

SELECT t.TABLE_OWNER,t.TABLE_NAME,t.INDEX_NAME,t.INDEX_TYPE,t.TABLESPACE_NAME,t.LAST_ANALYZED
FROM DBA_INDEXES t
where t.TABLE_NAME = 'EMP' and t.TABLE_OWNER ='SCOTT'
order by t.TABLESPACE_NAME,t.INDEX_NAME
;

インデックス対象カラム一覧

DESCが指定されたカラム名はdba_ind_expressionsと結合しないとだめんなんです。

select t.INDEX_OWNER,t.INDEX_NAME,t.COLUMN_POSITION
--,case   when i.COLUMN_POSITION is null then t.COLUMN_NAME  else to_clob(i.COLUMN_EXPRESSION) end COLUMN_NAME
,i.COLUMN_EXPRESSION
,t.DESCEND 
from dba_ind_columns t
left join dba_ind_expressions i
on i.index_owner = t.index_owner
and i.index_name = t.index_name
and i.column_position = t.column_position
where t.TABLE_NAME = 'EMP' and t.TABLE_OWNER ='SCOTT' and t.INDEX_NAME ='IDX_01'
order by t.TABLE_NAME,t.INDEX_NAME,t.COLUMN_POSITION,t.COLUMN_NAME
;
スポンサーリンク