ヒストグラム
ヒストグラムとは、インデックスを使用するかしないかを判断する統計分布要素、コストベース・オプティマイザ (CBO) によって中間セットの行数を予想し、アクセスパス、結合順序などを決定するためにも利用される。
平均的に分布している要素に対してはヒストグラムを取得すると逆効果(CBOの仕事が増える)
たとえ偏っていても検索キーなどに使用していないカラムには無用の長物となる。
Oracle で取り扱うヒストグラム統計情報は、高さ調整ヒストグラム、または、頻度ヒストグラムに変換される。
頻度ヒストグラム
1 値 1 バケット(※1) に対応し、バケットの値が頻度情報になる。カーディナリティが低い場合(バケット数 >= 個別値)に使用される。
高さ調整ヒストグラム
⇒ 参考 統計情報の収集 (DBMS_STATS)
高さ調整ヒストグラムにおいては1つのバケット(※1) に異なる値のデータが入っている。
(※1) バケット = Bucket = バケツ、つまり「容器/いれもの」のこと。
関連事項
関連 データ・ディクショナリ(一部)
USER_IND_STATISTICS … Optimizer statistics for user's own indexes
USER_TAB_COL_STATISTICS ・・・ Columns of user's tables, views and clusters
USER_TAB_STATISTICS … Optimizer statistics of the user's own tables
USER_TAB_HISTOGRAMS … Histograms on columns of user's tables