【Oracle】統計情報について

oracle
目次

統計情報とは

統計情報とはシステムや表(テーブル)、列(カラム)、索引(インデックス)の値やレコード件数などの情報のことです。

これらの情報が記録されたものを統計情報と呼びます。

統計情報は Oracle Database がSQLの実行計画を生成する際に利用されています。

実行計画とは、OracleがSQLを実行するために使用される手順の組合せです。

統計情報の種類と特徴

表(テーブル)統計

  • 表(パーティション)の行数
  • 表内に格納されたHWM以下に存在するデータブロック数
  • 表内の行の長さの平均
  • 行連鎖/行移行が発生している行数

列(カラム)統計

  • 列内に含まれる値の種類
  • 値がNULLの行数
  • 列の最小値/最大値
  • 列内に格納されたデータの分布度 

索引(インデックス)統計

  • ルート・ブロックからリーフ・ブロックまでの索引の高さ
  • 索引に含まれるリーフ・ブロックの数
  • クラスタ化係数
  • 索引キー値の種類の数

システム統計

  • CPUパフォーマンスと使用率
  • I/Oパフォーマンスと使用率

統計情報を更新する意味

実行計画は Oracle Database によって生成されますが、統計情報をインプットの一部にしています。

統計情報が古くなるとデータの実態からかけ離れ、非効率な実行計画が生成される可能性があります。

この統計情報を更新することで正しく実行計画の生成される可能性を高めることができます。

よかったらシェアしてね!
目次