达梦8增加字段性能优化案例
| 情况 | 多张宽表包含上百个字段,需要在线增加字段(ALTER TABLE ADD COLUMN) |
|---|---|
| 问题 | 测试环境增加字段非常慢,数据量2000万条 |
| 难点 | 生产环境的数据量达到七千万条,且业务为7*24小时高并发 |
优化方法
达梦数据库提供了一个动态会话级参数ALTER_TABLE_OPT,该参数默认值为0。具体参数说明如下:
| 参数名 | 缺省值 | 属性 | 说明 |
|---|---|---|---|
| ALTER_TABLE_OPT | 0 | 动态,会话级 | 是否对加列、修改列、删除列操作进行优化。 0:全部不优化; 1:全部优化; 2:快速加列,删除列和修改列与1等效; 3:快速加列,允许指定快速列默认值,其他功能与2相同 |
操作步骤
1. 查询当前参数值
sql复制代码
SELECT PARA_NAME, PARA_VALUE, FILE_VALUE
FROM V$DM_INI
WHERE PARA_NAME='ALTER_TABLE_OPT';
2. 修改参数为3
sql复制代码
SP_SET_PARA_VALUE(1, 'ALTER_TABLE_OPT', 3);
-- 或
ALTER SYSTEM SET 'ALTER_TABLE_OPT' = 3 BOTH;
说明:参数修改后,只对新建立连接的会话生效,原本存在的会话无效。
参数详解
- ALTER_TABLE_OPT = 1:
- 添加列时采用查询插入实现,可能导致ROWID改变。
- ALTER_TABLE_OPT = 2:
- 开启快速加列功能,对于没有默认值或默认值为NULL的新列,系统标记为附加

最低0.47元/天 解锁文章
6159

被折叠的 条评论
为什么被折叠?



