GBase 8s开发与管理 - ALTER TABLE
type: channel
link: https://gbasedbt.com/index.php/tag/ALTER-TABLE/
items: ALTER TABLE 之 快速变更（Fast alter）
items: ALTER TABLE 之 慢速变更（slow alter）

ALTER TABLE 之 快速变更（Fast alter）
type: item
date: 2024-04-09T14:27:27+08:00
description: ALTER TABLE 语句更改表的属性但不影响数据时，数据库服务器将使用快速变更算法．使用ALTER TABLE 语句执行以下操作时数据库服务器使用快速变更算法：更改下一扩展数据块大小添加或删除约束更改表的锁定方式不修改列类型而更改唯一索引属性使用快速变更算法时，数据库服务器对表的锁定只保持很短的时间。在某些情况下，数据库服务器锁定系统目录表只是为了更改属性。无论哪种情况，无法查询此表的时间均很短。

ALTER TABLE 之 慢速变更（slow alter）
type: item
date: 2024-04-09T14:20:00+08:00
description: 数据库服务器使用慢速变更算法来处理ALTER TABLE语句时，其他用户可能会长时间无法使用该表。 基于以下原因，慢速变更时表可能不可用：在ALTER TABLE 操作期间以互斥方式锁定了表为了将表转换成新的定义而为表制作了副本在ALTER TABLE 操作期间转换数据行可以将ALERR TABLE 语句视为长事务，如果超过高水位线LTXHWM阀值时，将出现长事务回滚。由于数据库服务器复制表数据以将该表转换为新定义，因此慢速变更操作需要的空间至少为原始表大小的两倍与日志空间之和。[...]