2011-11-29 98 views
5

我想編譯一個非系統特定的數據庫索引列表。我查看了Oracle,DB2,MySQL,Postgres和Sybase,幾乎所有資源都有不同的列表。到目前爲止,我已經看到:不同類型的數據庫索引?

clustered, multi-dimensional clustered, unclustered, unique, 
non-unique, b-tree, hash, GiST, GIN, full-text, bitmap, 
partitioned, function-based. 

似乎不同的系統對於相同類型的索引具有不同的名稱。

所有系統中是否存在標準索引類型?

回答

2

你應該更加努力沖刷:-) - 維基提供了一個很好的說明

http://en.wikipedia.org/wiki/Database_index

+0

我看到wiki文章,但是他們有兩個不同的「類型」列表: 非集羣,集羣,集羣(Oracle)的 和 位圖,密,疏,扭轉 這是否意味着有是其他類型的聚簇位圖,非聚集位圖等等嗎? – Nathron

2

許多這些概念是正交的。聚集索引意味着行按照它們在索引中出現的順序排列在表中。獨立地,該索引可以使用B樹,B +樹,散列,空間等來實現。然後,它可以對該表進行分區或不分區。一方面可能會限制,但不一定意味着另一方面。

+0

在我最近的項目中,我使用了以下幾個索引變體:聚簇(MySQL中的主鍵索引按定義聚簇),非聚簇(外鍵),唯一,非唯一,B樹和空間。 –