【Oracle】インデックス(INDEX)の状態を確認するSQL【USER_INDEXES】

Oracleのインデックス(INDEX)の状態を確認するSQL【USER_INDEXES】

Oracleのインデックスはまれに無効になってしまうことがあります。

インデックスが有効になっているか、無効になっているか「USER_INDEXES」を参照すれば確認することができます。

-- Oracleのインデックスの状態を確認する
SELECT * FROM USER_INDEXES;

-- Oracleのインデックスの状態を確認する(必要な項目のみ)
SELECT INDEX_NAME,TABLE_OWNER,TABLE_NAME,STATUS FROM USER_INDEXES;
INDEX_NAME TABLE_OWNER TABLE_NAME STATUS
IDX_SALES_HIS EIGYOU TBL_SALES_HIS INVALID
IDX_SALES EIGYOU TBL_SALES INVALID

 

USER_INDEXESのSTATUS

  • 「VALID」・・・インデックス有効
  • 「INVALID」・・・インデックス無効

STATUSが「INVALID」であれば、無効なインデックスなので再作成する必要があります。詳細はこちらを確認してください。

Oracleのインデックスを再作成する(REBUILD)

以上、Oracleのインデックスの状態を確認するSQLでした。

コメント