我目前的知识:
我对MySQL,PostgreSQL,Informix和DB2的答案特别感兴趣。
答案 0 :(得分:2)
MySql具有聚簇索引,但似乎对这些索引的控制有限。
MySql clustered indexes并看到此问题here
DB2具有MDC(多维集群),可以通过多种方式有效地对表进行组织索引。我从来没有使用它们,但你可能只有一个单一的MDC,它与标准的聚集索引相同。
甲骨文有点痛苦。上次我检查它的IOT实现需要你创建表作为IOT,你不能在以后更改它,这是很烦人的时候你想加载没有速度索引的数据加载,然后索引它。答案 1 :(得分:1)
SQL Server可以将表数据存储在Heap Structures
或Clustered Index Structures
中。如果表没有聚簇索引,则将其视为堆。有关详细信息,请参阅此处Heap Structures和Clustered Index Structures
答案 2 :(得分:1)
对于Informix Dynamic Server(IDS)或标准引擎(SE),它们都支持群集和非群集索引。 IDS使用RSAM,SE使用C-ISAM B-Tree索引。对于这两者,当创建集群索引时,表的行按照与索引相同的顺序进行物理排序,但是当新行添加到表中时,该行实际上放置在EOF(堆)。
答案 3 :(得分:0)
PostgreSQL提供聚簇索引。
命令cluster <table> <index>
将根据索引对数据库表进行物理排序。随后的数据修改将忽略此顺序。可以通过发出cluster <table>
刷新顺序。
请参见https://www.postgresql.org/docs/10/static/sql-cluster.html