本当にただのメモ

なるべく Qiita に投稿しよう

( DB における) カーディナリティとは

カーディナリティについてまとめてみた

カーディナリティとは

テーブルにカラムがあるとして、カラムに格納されているデータの種類がどのくらいあるのか を、カーディナリティという。

カーディナリティが低い場合

例えば性別なら、男と女の二種類である。 カラムのデータの種類が、テーブルのレコード数に比べて二種類と少ない。このことを カーディナリティが低い という。

カーディナリティが高い場合

一方顧客番号ならたくさんの種類(番号)が存在することになる。 カラムのデータの種類が、テーブルのレコード数に比べて多い場合、 カーディナリティが高い という。

カーディナリティを踏まえたインデックスの張り方

・複合インデックスを貼る時は、 カーディナリティの高い順に貼っていくのが大事

・インデックスを作る時の目安は、特定のカラム値を指定した時に、全体の 5%程度に絞り込めるだけのカーディナリティがあること