カーディナリティとは

その属性に紐付けられるもののこと

カーディナリティ度 (選択度)

カーディナリティ度が低いとは、カラムの値の種類がレコード数に比べて少ないことをあらわす。
カーディナリティ度が高いとは、カラムの値の種類がレコード数に比べて多いことをあらわす。
種類の絶対数の多少でなく度合いである。

例えば、子供から大人までの場合、性別や血液型などはカーディナリティ度が低く、身長や体重はカーディナリティ度が高い。同じ長さでも、靴のサイズなどはカーディナリティ度が低いといえる。

カーディナリティ度の高いカラムへの B-Tree インデックスは検索操作に対して高い効果がある。(しかし、低い場合は逆効果になる)

カーディナリティ度の低いカラムへの Bitmap インデックスは高い効果がある。ビットマップのジョインが発生する状況になると効果が高い(しかし、B-Tree インデックスに比べてインデックスの更新コストが高い)

カーディナリティ

カラムの値の種類の絶対数をあらわす。(例:人間の性別なら2)

データベースの統計情報として、カーディナリティとヒストグラムは重要な要素である。

その他のカーディナリティ?

Oracle 10g より以前のマニュアルにはカーディナリティにも色々な分類があったが、 現在では削除されているようである。混同する不要な情報として扱ったほうがよいのかもしれない。 興味があるならば Oracle 9i のパフォーマンスチューニング・ガイド マニュアルを参照してみてください。

概要

ベース・カーディナリティ … 実表の行数

有効なカーディナリティ … 実表から選択される行数

結合カーディナリティ … 2つの行セットの結合によってできた行数

個別カーディナリティ … 行セットのある列におけるユニークな値の数

グループ・カーディナリティ … GROUP BY 適用後の行数



日本オラクル
■ 日本オラクル 株式会社
■ オラクルマスター資格 (オラクルマスターとは
■ 会員制(無料)の公式技術サイト