<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          數(shù)據(jù)庫(kù)面試時(shí),常問(wèn)的 Selectivity 和 Cardinality 到底是什么

          共 1122字,需瀏覽 3分鐘

           ·

          2020-09-30 04:09

          點(diǎn)擊藍(lán)色“有關(guān)SQL”關(guān)注我喲

          加個(gè)“星標(biāo)”,天天與10000人一起快樂(lè)成長(zhǎng)


          讓我們舉個(gè)例子:

          假設(shè)新學(xué)期報(bào)道,當(dāng)你置身于班級(jí)中時(shí),你發(fā)現(xiàn)大家都穿著同樣顏色的衣服,無(wú)非男女款式不同,男同學(xué)長(zhǎng)褲,女同學(xué)長(zhǎng)裙,但都是黑色。人生地不熟的你,怎么才能確定你們的女班長(zhǎng)在哪一堆中間(假設(shè)班長(zhǎng)是女的,且你還不知道她長(zhǎng)什么模樣)?

          當(dāng)然,說(shuō)句廢話,只要你就讀的中學(xué)不是女子中學(xué),或者男子中學(xué),你們班級(jí)肯定有男有女。按照性別來(lái)歸類,總共只有 2 類。這兩類就可以被稱作 Cardinality = 2.

          有人會(huì)問(wèn),知道 Cardinality = 2, 能找到班長(zhǎng)嗎?答案自然沒(méi)那么簡(jiǎn)單,放在后面講。這里先鋪個(gè)墊,讓大家對(duì) Cardinality 有個(gè)形象的認(rèn)識(shí)。

          再來(lái)細(xì)分下同學(xué)的穿著。從服裝上已經(jīng)無(wú)法再細(xì)分了,大家都是黑色,長(zhǎng)褲長(zhǎng)裙一半一半。

          但從球鞋上,還是能看出花樣來(lái)。男同學(xué),普遍的阿迪,耐克,特別一些的會(huì)穿美金龍,阿瑟士。而女同學(xué)們,則花樣多了,阿迪,新百倫,斯凱奇,老爹鞋,熱風(fēng),馬丁靴,森馬,甚至還有百麗,Coach, Miss Sixty等等。

          一圈走下來(lái),細(xì)心的你,發(fā)現(xiàn)一個(gè)統(tǒng)計(jì)數(shù)據(jù),男同學(xué)穿4種鞋,女同學(xué)有16種品牌的鞋。按照剛才的算法, Cardinality 就等于 20.

          經(jīng)統(tǒng)計(jì),全班總共有 50 人, 2 種性別的人,穿了 20 種品牌的鞋。

          接下來(lái),就是你挑班長(zhǎng)的方法了:

          按照男女比1:1來(lái),你至少要從 25 個(gè)女同學(xué)里找到你的班長(zhǎng);

          按照品牌的鞋來(lái)找,你會(huì)發(fā)現(xiàn),只要從 50/20 個(gè)人里面找,就可以了。

          自然,哪種方法快,就不用言說(shuō)了。按照穿的鞋來(lái)找,最多只要找3個(gè)人,一問(wèn)便知。

          這里的依據(jù),便是 50/20, 50/2 , 即 總?cè)藬?shù)/總分類個(gè)數(shù),而 Cardinality 在這里就承擔(dān)總分類個(gè)數(shù)的角色,也就是同一類屬性中,不同屬性值的個(gè)數(shù)。

          將這個(gè)公式倒過(guò)來(lái),總分類個(gè)數(shù)/總?cè)藬?shù),就是這類屬性的 Selectivity. 值越高,表示越多樣化,也就越容易找到想要的人;值越低,表示缺乏多樣性,精確查找的效率就越低。

          可見(jiàn), Selectivity 可以幫助我們有效評(píng)估字段建立索引的價(jià)值。




          --完--





          往期精彩:


          本號(hào)精華合集(二)

          如何寫好 5000 行的 SQL 代碼

          如何提高閱讀 SQL 源代碼的快感

          我在面試數(shù)據(jù)庫(kù)工程師候選人時(shí),常問(wèn)的一些題

          零基礎(chǔ) SQL 數(shù)據(jù)庫(kù)小白,從入門到精通的學(xué)習(xí)路線與書(shū)單










          瀏覽 80
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  国产成年人黄色大香蕉 | 新97超碰| 玖玖国产免费 | 国产在视频线精品视频www666 | 国产爱搞视频网 |