达梦加快表字段DDL

 

dm.ini中设置参数alter_table_opt各值的测试情况

 

执行的语句

alter table HXL.TB_OBJECTS add column(NAME varchar(30) default 'AA' not null);

 

ALTER_TABLE_OPT=1
[执行语句1]:
alter table HXL.TB_OBJECTS add column(NAME varchar(30) default 'AA' not null);
执行成功, 执行耗时3分 25秒 589毫秒. 执行号:708


ALTER_TABLE_OPT=2
[执行语句1]:
alter table HXL.TB_OBJECTS add column(NAME varchar(30) default 'AA' not null);
执行成功, 执行耗时2分 46秒 902毫秒. 执行号:600

1条语句执行成功

ALTER_TABLE_OPT=3
[执行语句1]:
alter table HXL.TB_OBJECTS add column(NAME varchar(30) default 'AA' not null);
执行成功, 执行耗时60毫秒. 执行号:700

 

官方的说明:

当设置 INI 参数
ALTER_TABLE_OPT 为 1 时,添加列采用查询插入实现,可能会导致 ROWID 的改变;
ALTER_TABLE_OPT 为 2 时,系统开启快速加列功能,对于没有默认值或者默认值为 NULL 的新列,系统内部会标记为附加列,能够达到瞬间加列的效果,此时记录 ROWID 不会改变,若有默认值且默认值不为 NULL,则默认值的存储长度不能超过 4000 字节,此时仍旧采取查询插入实现;
ALTER_TABLE_OPT 为 3 时,系统会开启快速加列功能,允许指定新增列的默认值,系统会为该列设置附加列标记,查询表中已存在的数据时,会自动为记录设置附加列默认值,此时记录 ROWID 不会改变。

posted @ 2022-08-04 11:30  slnngk  阅读(375)  评论(0)    收藏  举报