カーディナリティのお話

2021.04.19

記事画像
カーディナリティとは カーディナリティとはDBの特定のカラムがもつ値の種類の絶対数のことになります。例であげるとすると「性別」であれば「2」となります。 カーディナリティの「低い」「高い」 例えば例にもあげた「性別」であれば登録がどんなに増えても種類は2種類しかありません。種類が少ない場合カーディナリティは「低い」と言います。 例えば、日で言えば一年365日ありますので、365の種類があります。種類が多い場合カーディナリティは「高い」と言います。 カーディナリティとインデックス このカーディナリティの「低い」「高い」はインデックスを貼る際にとても重要になってきます。基本、インデックスはカーディナリティの「高い」ところに貼るべきだと言われています。 例えば、性別にインデックスを貼ったとしても、絞り込めるのは全体の50%にしかならず、全然絞り込めていない状態になります。代わりに日でインデックスを貼った場合、1/365=0.273%まで絞り込むことができます。目安的には絞り込みが10%以下になるようなインデックスを貼るのが良いと言われています。 複合インデックスでインデックスを貼る場合も、できる限りカーディナリティの高いものから貼ると効率の良いインデックスが晴れるでしょう。
--------------------------------------------------
社員を募集しております!

type
開発エンジニア*前職給与保証*リモート可*ブランクOK*案件還元率80%以上*月給35万円~*年休128日

社員のゲーム実況チャンネル
$fugaのゲーム実況

この記事を書いた人

高橋 希望

入社10年目の元不動産営業、現ゲームエンジニア 得意言語はphp,javascript,python,elixirなど