在IDS?.. SE?.. SQL Server,Oracle,MySQL和其他人自动将新行插入数据文件中的适当位置以维持群集。
答案 0 :(得分:1)
Informix处理聚簇索引的方法是重建表(和索引),以便表中的数据在创建索引时的索引的物理序列正确。此后,在最合适的位置插入行,这不会继续保留群集顺序。自从( 1985年的Informix-SQL 1.10 )以来,自1986年的Informix-SQL 2.10(可能是2.00;我还没有手册)到2010年的Informix Dynamic Server 11.70就是这种情况。
声明:
ALTER INDEX idxname TO NOT CLUSTERED;
总是非常快。补充声明:
ALTER INDEX idxname TO CLUSTERED;
通常是一个缓慢的过程,包括在删除旧表和索引之前创建表的全新版本和索引。
ISQL 1.10手册没有ALTER INDEX; 2.10手册确实有ALTER INDEX。
答案 1 :(得分:1)
我不能回答IDS,但我可以为你提到的一些人。
这取决于平台:它是否使用页面并将数据与索引树分开?
通常,行的物理排序不是维护的:只有逻辑排序可以是
原因:你不能在固定尺寸的页面上“腾出空间”(波希米亚人建议)
因此,如果您扩展一行(例如,向长varchar添加更多数据)或插入(ID=3
行id IN (2,4)
之间),则会出现以下情况之一
这会导致逻辑/索引碎片化和数据密度降低(每页):这就是为什么我们要进行索引维护来删除它。