タグ

cardinalityに関するnabinnoのブックマーク (4)

  • MySQL(InnoDB)でカーディナリティの低いカラムにINDEXを張る - Qiita

    RDBMSのテーブルにINDEX(セカンダリINDEX)を作成する場合、よく「カーディナリティが低いカラムには作るな」と言われます。 どんな場合でも当てはまるのか、少し実験して確かめてみます。 カーディナリティとは 今さら解説するまでもないかもしれませんが、「あるカラムにおける、取りうる値の種類」のことです。 ER図など、DBに絡む場面で別の意味で使われることもありますが、ここではこの意味で使います。 例えば、性別を表すカラムがあり、必須で値を入れなければならない場合は、「男性」「女性」の2種類、です。 「カーディナリティが低いカラムにINDEXを張るな」の意味 先に挙げた「性別」の場合、もし対象となる全レコードで男女の比率がほぼ1:1であれば、INDEXで絞り込める範囲は1/2程度です。絞り込みの効果があまりありません。 このような場合は、わざわざセカンダリINDEXを使うのではなく、テ

    MySQL(InnoDB)でカーディナリティの低いカラムにINDEXを張る - Qiita
  • カーディナリティについてまとめてみた - Qiita

    カーディナリティとは テーブルにカラムがあるとして、カラムに格納されているデータの種類がどのくらいあるのか(カラムの値の種類の絶対値)を、カーディナリティという。 具体例 カーディナリティが低い場合 例えば性別なら、男と女の二種類である。 カラムのデータの種類が、テーブルのレコード数に比べて二種類と少ない。このことを カーディナリティが低い という。 カーディナリティが高い場合 一方顧客番号ならたくさんの種類(番号)が存在することになる。 カラムのデータの種類が、テーブルのレコード数に比べて多い場合、 カーディナリティが高い という。 カーディナリティを踏まえたインデックスの張り方 基的に、 カーディナリティの高い列に作成する 必要がある。 はじめに、カーディナリティは カラムの値の種類の絶対値と書いたが、先程の例で言うと性別のカーディナリティは2になる。他にも例えば1年間の日付なら1〜

    カーディナリティについてまとめてみた - Qiita
  • Cardinality (SQL statements) - Wikipedia

  • 濃度 (数学) - Wikipedia

    数学、特に集合論において、濃度(のうど、英: cardinality カーディナリティ)とは、有限集合における「元の個数」を一般の集合に拡張したものである[1]。集合の濃度は基数 (cardinal number) と呼ばれる数によって表される。歴史的には、カントールにより初めて無限集合のサイズが一つではないことが見出された[2][3]。 濃度の関係[編集] 集合 X と Y の間に全単射が存在するとき X ≈ Y と書き、X と Y は濃度が等しいという。 集合 X から集合 Y のへの単射が存在するとき X ≾ Y と書き、X の濃度は Y の濃度以下であるという。 集合 X と Y について、X ≾ Y だが X ≈ Y でないとき、X ≺ Y と書き、X の濃度は Y の濃度より小さいという。 シュレーダー=ベルンシュタインの定理により、X ≾ Y かつ Y ≾ X なら、X ≈

  • 1