达梦加快表字段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 不会改变。
浙公网安备 33010602011771号