提高连接和分离分段的操作的性能

当您使用 ALTER FRAGMENT ATTACH 和 DETACH 语句在非常大的表中添加或除去大量数据时,可以执行多个步骤来提高连接和拆离操作的性能。

ALTER FRAGMENT DETACH 语句提供了快速删除表数据的段的方法。同样,ALTER FRAGMENT ATTACH 语句提供了一种通过利用分段存储技术向现有的表递增地装入大量数据的方法。但是,数据库服务器对继续存在的表重新建立索引时执行 ALTER FRAGMENT ATTACH 和 DETACH 语句将花费很长时间。

数据库服务器为 ALTER FRAGMENT ATTACH 和 DETACH 语句提供了性能优化,这使数据库服务器能够重新使用继续存在的表的索引。所以,数据库服务器可以消除连接或拆离操作期间的索引建立,从而:

ALTER FRAGMENT 操作需要对操作中涉及的所有表进行互斥存取和互斥锁定。如果您对会话启用了 FORCE_DDL_EXEC 环境选项,那么可以强行排除在 ALTER FRAGMENT ON TABLE 操作涉及的表中打开的或锁定的其他事务。如果服务器无法对表进行互斥存取或互斥锁定,那么服务器将开始回滚表中已打开或锁定的事务,直至达到使用 FORCE_DDL_EXEC 选项指定的值。您可能希望对忙碌的系统启用 FORCE_DDL_EXEC 环境选项,可能是一天运行 24 小时,且您不希望在变更分段前等待会话关闭。