統計情報が取得された日時を確認する方法です。
テーブルの統計情報
- (テーブルの統計情報が取得された日時を確認するSQL)
- SELECT table_name, TO_CHAR(last_analyzed, 'YYYY/MM/DD HH24:MI:SS') FROM user_tables WHERE table_name = 'テーブル名'
例)テーブルMUSERの統計情報が取得された日時を確認する
- SQL*Plus
- SQL> SELECT table_name, TO_CHAR(last_analyzed, 'YYYY/MM/DD HH24:MI:SS') AS LAST_ANALYZED FROM user_tables WHERE table_name = 'MUSER'; TABLE_NAME LAST_ANALYZED ----------- ------------------- MUSER 2020/10/20 13:50:21
インデックスの統計情報
- (インデックスの統計情報が取得された日時を確認するSQL)
- SELECT index_name, TO_CHAR(last_analyzed, 'YYYY/MM/DD HH24:MI:SS') FROM user_indexes WHERE index_name = 'インデックス名'
例)インデックスIDX_MUSERの統計情報が取得された日時を確認する
- SQL*Plus
- SQL> SELECT index_name, TO_CHAR(last_analyzed, 'YYYY/MM/DD HH24:MI:SS') AS LAST_ANALYZED FROM user_indexes WHERE index_name = 'IDX_MUSER1'; INDEX_NAME LAST_ANALYZED ----------- ------------------- IDX_MUSER1 2020/10/20 13:50:22
備考
- 統計情報が最後に更新された日時は、USER_TABLES、USER_INDEXESデータディクショナリを検索すればOKです。
関連記事
- [DBMSパッケージ] ユーザ単位で統計情報を更新する(DBMS_STATS.GATHER_SCHEMA_STATS)
- [DBMSパッケージ] テーブル単位で統計情報を更新する(DBMS_STATS.GATHER_TABLE_STATS)