《Oracle命令语法速查》【 ANALYZE 】

指定したオブジェクトの統計情報を収集する


ANALYZE →
→┬ TABLE   [ スキーマ . ] 表名   [ ┬ PARTITION ( パーティション名 ) ────┬ ] ┬→
  │                                 └ SUBPARTITION ( サブパーティション名 )  ┘   │
  ├ INDEX   [ スキーマ . ] 索引名 [ ┬ PARTITION ( パーティション名 ) ────┬ ] ┤
  │                                 └ SUBPARTITION ( サブパーティション名 )  ┘   │
  └ CLUSTER [ スキーマ . ] クラスタ名  ──────────────────────┘
→┬ COMPUTE [ SYSTEM ] STATISTICS  (*1)  ──────────────────────┬ ;
  │[ 全ての列の統計情報を収集する ]                                                │
  ├ ESTIMATE [ SYSTEM ] STATISTICS (*1) [ SAMPLE 数値 { ROWS | PERCENT } ] ─────┤
  │[ 指定した行数·比率を対象に統計情報を収集する ]                                │
  ├ DELETE [ SYSTEM ] STATISTICS ──────────────────────────┤
  │[ すでに集計済の統計情報を削除する ]                                            │
  ├ VALIDATE REF UPDATE  ──────────────────────────────┤
  │[ 指定された表の中のREFの妥当性検査を行う ]                                     │
  ├ VALIDATE STRUCTURE [ CASCADE ] [ INTO [ スキーマ . ] 表名 ] { OFFLINE | ONLINE } ┤
  │[ 指定されたオブジェクトの構造を検証する           ]                            │
  │[   CASCADE : 従属する索引の構造を検証する         ]                            │
  │[   INTO    : 結果を待避する表を指定する           ]                            │
  └ LIST CHAINED ROW   [ INTO [ スキーマ . ] 表名 ]  ────────────────┘
    [ 指定されたオブジェクトの行連鎖をチェックする     ]
    [   INTO    : 結果を待避する表を指定する           ]

(*1)
→ [ FOR ┬ TABLE  ──────────────────────────┬ ] →
         │[ 表の統計情報を収集する ]                                │
         ├ ALL    ┬ [ INDEXED ] COLUMNS [ SIZE 数値 ]  ──────┬┤
         │        │[ 索引付きの列の統計情報を収集する ]          ││
         │        └ [ LOCAL   ] INDEXES  ─────────────┘│
         │          [ ローカルインデックスパーティションを分析する ]│
         ├ COLUMNS [ SIZE 数値 ] ┬ { 列名 | 属性名 } [ SIZE 数値 ] ┬┤
         │                       └ ←  ──────────────┘│
         │[ 指定された列の統計情報を収集する ]                      │
         └ ← ────────────────────────────┘