テーブルやインデックスの「統計情報」とは

 普段あまり目にすることのない統計情報の中身をご紹介します。大きくは3つの情報からなります。テーブルの情報、索引の情報、列の値に関する情報となります。

テーブル情報

テーブルの情報には、テーブルの行数、行データの平均サイズ、HWMまでのブロック数になります。

索引の情報

索引の情報はBツリー索引の高さ、リーフブロック数、キー値の種類やリーフブロック平均数、データブロック平均数、クラスタ化係数です。

列の値に関する情報

列の値に関する情報としては列値の種類、値の最小値や最大値、NULLの数、列データの平均サイズです。これらが変更されるタイミングで統計情報を適切に取得できればオプティマイザが最適だと思われる実行計画を立ててくれます。オプティマイザにもたまに間違いはあるようですが。