カーディナリティが高い低いとは

スポンサーリンク

カーディナリティとは

カーディナリティが高い低いの前にそもそもカーディナリティとは、特定の列(カラム)がもつ値の種類の絶対数ことです。
例としては、性別なら2ですね。

※例として性別を2種類としましたが実際に「性別」の情報をDBの設計に落とし込む際には2種類かどうかは別のお話です。以下の記事は面白いと思いますので興味があればどうぞ。

システムで「性別」の情報を扱う前に知っておくべきこと - Qiita
序文 読んで時間を無駄にしたとか言われないために先に断るべきことを書きます ■ どんなことを書いてるか 人間の性別に関する国際規格 ISO 5218 のことと、それをそのままフロントエンド側に使ってはいけない理由、でもデータベ...

カーディナリティが低いとは

カーディナリティが低いとは、テーブルのレコードに対してデータの種類が少ないことを表します。カーディナリティの例で出した性別は、カーディナリティが低いといえます。

カーディナリティが高いとは

カーディナリティが高いとは、テーブルのレコードに対してデータの種類が多いことを表します。例えば、登録日時というカラムは、テーブルの中でも値の種類が多くカーディナリティが高いといえます。

カーディナリティとインデックスについて

カーディナリティとインデックスの関係について、B-treeインデックスにおいてカーディナリティが高い列にインデックスを作成する必要があります。インデックスを作成する目安としては、レコード件数が10パーセント程度に絞り込める場合に作成を検討してよいでしょう。Oracle社の資料によるとレコード件数が2パーセント程度に絞り込める場合にはインデックスをつけるように記述されています。

※レコード長や処理能力によっても異なるため、あくまでも目安と考えてください。

コメント

タイトルとURLをコピーしました