3 回答

TA貢獻(xiàn)1833條經(jīng)驗(yàn) 獲得超4個(gè)贊
基本上,表上的索引就像書中的索引(名稱來(lái)自的位置):
假設(shè)你有一本關(guān)于數(shù)據(jù)庫(kù)的書,你想找一些關(guān)于存儲(chǔ)的信息。沒(méi)有索引(假設(shè)沒(méi)有其他幫助,例如目錄),您必須逐個(gè)瀏覽頁(yè)面,直到找到主題(即a full table scan
)。另一方面,索引有一個(gè)關(guān)鍵字列表,所以你可以參考索引,看看storage
第113-120,231和354頁(yè)上提到的那個(gè)。然后你可以直接翻到這些頁(yè)面,而無(wú)需搜索(這是一個(gè)搜索索引,有點(diǎn)快)。
當(dāng)然,索引的有用性取決于很多東西 - 一些例子,使用上面的明喻:
如果您有一本關(guān)于數(shù)據(jù)庫(kù)的書并將“數(shù)據(jù)庫(kù)”這個(gè)詞編入索引,您會(huì)看到它在1-59,61-290和292到400頁(yè)中提到過(guò)。在這種情況下,索引沒(méi)有多大幫助,它可能會(huì)更快地逐頁(yè)瀏覽(在數(shù)據(jù)庫(kù)中,這是“差的選擇性”)。
對(duì)于一本10頁(yè)的書,制作一個(gè)索引是沒(méi)有意義的,因?yàn)槟憧赡茏罱K得到一個(gè)10頁(yè)的書,前面有一個(gè)5頁(yè)的索引,這只是愚蠢的 - 只需掃描10頁(yè)并完成它。
索引也需要有用 - 通常沒(méi)有必要索引例如每頁(yè)字母“L”的頻率。

TA貢獻(xiàn)1777條經(jīng)驗(yàn) 獲得超10個(gè)贊
基本上,索引是按順序排序的所有鍵的映射。按順序列表,然后它可以執(zhí)行以下操作,而不是檢查每個(gè)鍵:
1:進(jìn)入列表中間 - 是高還是低于我正在尋找的?
2:如果更高,則進(jìn)入中間和底部之間的中間位置,如果是低位,中位和頂部
3:更高還是更低?再次跳到中間點(diǎn)等
使用該邏輯,您可以在大約7個(gè)步驟中找到排序列表中的元素,而不是檢查每個(gè)項(xiàng)目。
顯然有復(fù)雜性,但這給了你基本的想法。
添加回答
舉報(bào)