Database-Design

如何解釋索引

  • August 11, 2013

這個問題是關於教學的:當我學習數據庫時,我們談到索引就像鎮圖書館的卡片目錄。我們至少有一個作者索引,一個書名索引,然後杜威十進制數字是這本書的訪問路徑,就像數據庫中的整個記錄一樣。

圖書?什麼,紙上談兵?抽屜裡的索引卡?

年輕人真的不知道我在說什麼,那麼我們現在如何最好地解釋它呢?

(隨意享受我的草坪,請認清預科學校的草和人造草坪的區別,好嗎?)

最好參考:SQL Server Indexes 的階梯

你離開家去辦幾件事情。當您返回時,您會發現來自您女兒的壘球教練的消息在等著您。其中三個女孩,特蕾西、麗貝卡和艾米已經失去了他們的球隊帽。請你到運動用品商店逛一逛,給女孩們買帽子。他們的父母會在下一場比賽中報銷你。

你認識這些女孩,你也認識她們的父母。但你不知道他們的帽子尺寸。在你鎮上的某個地方有三座住宅,每座住宅都包含你需要的一條資訊。沒問題,您只需打電話給父母並獲取帽子尺寸即可。你伸手去拿你的電話,然後你伸手去拿一個索引——電話簿的白頁。

您需要到達的第一個住所是 Helen Meyer 的住所。估計“Meyer”將位於人口中間附近,你跳到白頁中間;只是發現您在標題為“Kline-Koerber”的頁面上。您向前小幅度跳躍並到達“Nagle-Nyeong”頁面。一個更小的向後跳躍會讓你進入“馬爾多納多-納格爾”頁面。意識到您現在在正確的頁面上,您向下掃描頁面直到到達“Meyer,Helen”行並獲得電話號碼。使用電話號碼,您可以到達 Meyer 住所並獲取您需要的資訊。

你再重複這個過程兩次,到達另外兩個住所,並獲得另外兩個帽子尺寸。

您剛剛使用了一個索引,並且您使用它的方式與 SQL Server 使用索引的方式非常相似。

更多閱讀,可以參考

如果您想接觸那些在不使用 Google 的情況下從未搜尋過任何東西的年輕人,那麼為什麼不嘗試這樣的事情:

想像一下 iTunes 把你的音樂庫弄亂了,你 iPod 上的每首歌都以隨機順序混合在一起,但給了一個像“track1234”這樣的順序名稱。如果你想找到一首歌曲,你所能做的就是開始聽每一首歌,一次聽一首,看看它是什麼歌。假設 iTunes 不允許您重命名曲目。你能做些什麼來弄清楚如何能夠(a)找到你正在尋找的歌曲和(b)根據歌曲的混亂曲目名稱找出歌曲的真實名稱?

您可以聆聽每首歌曲並弄清楚它是什麼,然後在 Excel 電子表格中保留曲目名稱和真實歌曲名稱的列表。

在 Excel 中完成列表製作後,您可以製作副本。一份您按混亂的曲目名稱排序的副本。您按真實歌曲名稱(或藝術家+歌曲,如果您願意)排序的另一個副本。

兩個 Excel 列表中的每一個都像一個索引。它是內容列表,而不是實際內容。它會告訴您在哪裡可以找到您要查找的內容,並按方便的順序對其進行排序,以幫助您快速跳轉到列表中包含您要查找的內容的部分。一旦你找到那個東西,它會告訴你在哪裡可以找到你正在尋找的實際數據(即你的 iPod 上的音樂)。

如果此時您仍然有他們的注意力,您可以嘗試向他們展示二分查找的威力。為此,您可能會更好地找到遊戲節目“價格合適”的 YouTube 剪輯以及聰明的玩家使用二進制搜尋玩的“高/低遊戲”。

引用自:https://dba.stackexchange.com/questions/47811