使用 ALTER TABLE 消除扩展数据块的交错情况

如果您使用 ALTER TABLE 语句来添加或删除列或者更改列的数据类型,那么数据库服务器将复制并重新构建该表。当数据库服务器重新构建整个表时,它将此表重新写入数据库空间的其他区域。 不过,如果其他表也在此数据库空间中,那么无法保证新的扩展数据块相互是邻接的。

要点: 对于在 ADD、DROP 和 MODIFY 子句中指定的某些类型的操作,数据库服务器将不在 ALTER TABLE 操作期间复制和重新构建表。在这些情况下,数据库服务器会在更新每行时(而不是在 ALTER TABLE 操作期间)使用定点变更算法来修改每一行。有关此定点变更算法的条件的更多信息,请参阅定点变更