2010-08-22 75 views
6

我目前的知識:哪些DBMS提供索引組織表?

  • 甲骨文確實提供索引組織表和默認堆組織。
  • 我聽說SQL-Server只使用索引組織表

我在爲MySQL,Informix和DB2的答案特別感興趣。

回答

2

MySql具有聚簇索引,但似乎對這些索引的控制有限。

MySql clustered indexes看看這個問題here

DB2具有MDC(多維集羣),它可以有效地組織指數在幾個方面表。我從來沒有使用過它們,但你可能只需要一個單一維度的MDC,它將與標準聚集索引相同。

Oracle是一個有點疼痛。上次我用它的IOT實現檢查時,需要將表創建爲IOT,並且以後不能再進行更改,如果要加載一個沒有速度索引的數據負載,然後對其進行索引,這很煩人。

+0

謝謝!我願意接受一些相當大的表現的痛苦;-)。 – 2010-08-22 13:52:17

+0

現在我查找了Informix的聚簇索引,並且它也在那裏!所以,我的候選數據庫管理系統似乎都支持物聯網又名聚類索引。 – 2010-08-22 13:56:52

1

SQL Server可以存儲在任何Heap StructuresClustered Index Structures表數據。如果一個表沒有聚集索引,那麼它就被認爲是一個堆。有關更多詳細信息,請參見Heap StructuresClustered Index Structures

1

至於Informix Dynamic Server的(IDS)或標準引擎(SE),它們都支持羣集和非聚集索引。 IDS使用RSAM,SE使用C-ISAM B-Tree索引。對於這兩種情況,當創建一個集羣索引時,一個表的行按照與索引相同的順序進行物理排序,但是當新行添加到表中時,該行實際位於EOF(堆)中。

+0

「......但是當新的行被添加到表中時,行被物理地放置在EOF(堆)處。」哦,這真是一個驚喜。感謝您發佈此信息。 – 2010-08-24 16:05:55

+0

這將是很好的新插入的行以物理方式放置在根據聚簇索引數據文件,但認爲所有的發動機要做到保持這種工作。表演將是一場災難! – 2016-05-30 01:05:14