Oracle 和 DB2 比較與相容性/儲存模型/索引/DB2
外觀
DB2 索引在物理上儲存在它自己的索引空間中,與表中的資料分開。 當您使用 CREATE INDEX 語句時,DB2 會為您建立和維護索引。 索引空間是一種儲存結構,包含單個索引,它是在與其表相同的資料庫中建立的。
索引的主要目的是提高效能並確保行唯一性。 最佳化器決定何時使用索引訪問表,儘管您可以影響它們的用法。
在 DB2 中,索引還可以用於對資料進行聚類、對資料進行分割槽以及提供對資料的僅索引訪問。
索引可以是分割槽或非分割槽,兩種型別都可以是聚類的。 例如,您可以按日期對資料進行分割槽,可能為每一天使用一個分割槽。 您選擇分割槽方案是基於應用程式如何訪問資料,您有多少資料以及您預計總資料量增長多少。
DB2 最佳化器將在需要時動態建立點陣圖索引。 這消除了建立和維護靜態點陣圖索引的要求。 例如,您可能在 Oracle 中的低基數列上建立點陣圖索引,但在 DB2 中,這將為您完成。 對於靜態點陣圖索引,額外的開銷在於每次插入、更新和刪除都需要更新索引。 動態點陣圖索引沒有磁碟或更新開銷,並且 DB2 可以透過訪問索引並在記憶體中處理 ROWID 來為您提供良好的效能。