ここではOracleの索引(インデックス)の情報を確認するSQL文について紹介します。

索引の一覧を取得する

ユーザーがアクセスできる索引を取得する

現行のユーザーがアクセスできる索引を取得するには、「ALL_INDEXES」を参照します。

SELECT * FROM ALL_INDEXES ORDER BY OWNER, INDEX_NAME;

ALL_INDEXESで取得できる主な情報は以下の通りです。

列名説明
OWNER索引の所有者
INDEX_NAME索引の名前
INDEX_TYPE索引のタイプ
TABLE_OWNER索引付きオブジェクトの所有者
TABLE_NAME索引付きオブジェクトの名前
TABLE_TYPE索引付きオブジェクトの型
UNIQUENESS索引が一意か(UNIQUE)一意でないか(NONUNIQUE)
TABLESPACE_NAME索引が設定されている表領域の名前


データベース内の索引を取得する

データベース内の索引を取得するには、「DBA_INDEXES」を参照します。

SELECT * FROM DBA_INDEXES ORDER BY OWNER, INDEX_NAME;

DBA_INDEXESで取得できる情報は、ALL_INDEXESと同じです。


ユーザーが所有する索引を取得する

現行のユーザーが所有する索引を取得するには、「USER_INDEXES」を参照します。

SELECT * FROM USER_INDEXES ORDER BY INDEX_NAME;

USER_INDEXESで取得できる情報はORDER列を除き、ALL_INDEXESと同じです。


以上、Oracleの索引(インデックス)の情報を確認するSQL文について解説しました。