2013-12-16 53 views
5

散列和索引都用於在某些預定義的公式上對數據進行分區。但我無法理解兩者之間的主要區別。散列VS索引

正如哈希中一樣,我們在一些關鍵值對的基礎上劃分數據,同樣在索引中,我們也將數據劃分爲一些預定義值。

任何人都可以幫我解決哈希和索引之間的區別,以及如何決定是否使用哈希或索引。

+0

可能的重複: ely

回答

8

散列是索引的一個特例:

Hashing vs. Indexing

索引是打算在加快數據查找窗口分區的過程的總稱。索引可以根據字段的值或字段的組合對數據集進行分區。它也可以根據函數的值對數據集進行分區,稱爲散列函數,根據字段或字段組合中的數據計算得出。在這種特定情況下,索引被稱爲數據散列

+0

有一個小的錯字,看* UPS。 –

+0

@Wazery現在已修復,謝謝!附:當你看到像這樣的東西時,你可以建議編輯;這種編輯通常很快得到批准。 – dasblinkenlight

0

我在網上做了一些研究:

什麼是索引?

索引是一種對多個字段上的多個記錄進行排序的方法。在表中的字段上創建索引會創建另一個數據結構,該結構保存字段值以及指向與其相關的記錄的指針。然後對索引結構進行排序,從而對其執行二進制搜索。

什麼是散列?

散列是將字符串轉換爲通常較短的固定長度值或表示原始字符串的鍵的轉換。散列用於索引和檢索數據庫中的項目,因爲使用較短的散列鍵查找項目比使用原始值查找項目要快。

+1

提醒我:http://stackoverflow.com/a/13472833/4632627 –