Oracle 和 DB2 比较与兼容性/存储模型/索引/DB2
外观
DB2 索引在物理上存储在它自己的索引空间中,与表中的数据分开。 当您使用 CREATE INDEX 语句时,DB2 会为您创建和维护索引。 索引空间是一种存储结构,包含单个索引,它是在与其表相同的数据库中创建的。
索引的主要目的是提高性能并确保行唯一性。 优化器决定何时使用索引访问表,尽管您可以影响它们的用法。
在 DB2 中,索引还可以用于对数据进行聚类、对数据进行分区以及提供对数据的仅索引访问。
索引可以是分区或非分区,两种类型都可以是聚类的。 例如,您可以按日期对数据进行分区,可能为每一天使用一个分区。 您选择分区方案是基于应用程序如何访问数据,您有多少数据以及您预计总数据量增长多少。
DB2 优化器将在需要时动态创建位图索引。 这消除了创建和维护静态位图索引的要求。 例如,您可能在 Oracle 中的低基数列上创建位图索引,但在 DB2 中,这将为您完成。 对于静态位图索引,额外的开销在于每次插入、更新和删除都需要更新索引。 动态位图索引没有磁盘或更新开销,并且 DB2 可以通过访问索引并在内存中处理 ROWID 来为您提供良好的性能。