当前位置:网站首页>达梦数据库大表添加字段
达梦数据库大表添加字段
2022-08-05 07:29:00 【Asky】
一个1000多万记录的大表,尝试添加字段,语句如下:
alter table "HXL"."TB_OBJECTS" add column(NAME varchar(30)); ##执行很久
该语句执行很久,期间尝试开启另外的一个会话写入数据
insert into tb_objects(owner) values('TT'); ##一直等待
发现无法写入,一直在等待,请问下大表加字段怎么做呢?不能影响到业务使用
采纳答案1:
可以考虑设置参数alter_table_opt,设置为1,添加列采用查询插入法,可能导致rowid变化;ALTER_TABLE_OPT 为 2 时,系统开启快速加列功能,对于没有默认值或者默认值为 NULL 的新列,系统内部会标记为附加列,能够达到瞬间加列的效果, 此时 ROWID 不会改变, 若有默认值且默认值不为 NULL,则仍旧采取查询插入实现。如果设置成3,系统开启快速加列模式,允许指定新增列的默认值,系统会为该列设置附加列标记,查询表中已存在的数据时,会自动为记录设置追加列默认值,rowid不变。
其他答案1:
可以考虑设置参数alter_table_opt,设置为1,添加列采用查询插入法,可能导致rowid变化;ALTER_TABLE_OPT 为 2 时,系统开启快速加列功能,对于没有默认值或者默认值为 NULL 的新列,系统内部会标记为附加列,能够达到瞬间加列的效果, 此时 ROWID 不会改变, 若有默认值且默认值不为 NULL,则仍旧采取查询插入实现。如果设置成3,系统开启快速加列模式,允许指定新增列的默认值,系统会为该列设置附加列标记,查询表中已存在的数据时,会自动为记录设置追加列默认值,rowid不变。
其他答案2:
感谢,试了下,设置成3,添加带默认值字段秒级完成
ALTER_TABLE_OPT=3
[执行语句1]:
alter table HXL.TB_OBJECTS add column(NAME varchar(30) default 'AA' not null);
执行成功, 执行耗时60毫秒. 执行号:700
边栏推荐
猜你喜欢

Shiny04---Application of DT and progress bar in shiny

任务流调度工具AirFlow,,220804,,

IO进程线程->进程间的通信->day7

Game Thinking 19: Multi-dimensional calculation related to games: point product, cross product, point-line-surface distance calculation

Flink学习11:flink程序并行度

TRACE32——List源代码查看

在anaconda Promat界面import torch通过,在jupyter notebook中报错的问题(仅提供思路理解!)

七夕?编程?

Flink Learning 12: DataStreaming API

DeFi 前景展望:概览主流 DeFi 协议二季度进展
随机推荐
本地能ping通虚拟机,虚拟机ping不通本地
"Automatic Data Collection Based on R Language"--Chapter 3 XML and JSON
【LeetCode】235.二叉搜索树的最近公共祖先
After the firewall iptable rule is enabled, the system network becomes slow
双向循环带头链表
游戏思考19:游戏多维计算相关:点乘、叉乘、点线面距离计算
不能比较或排序 text、ntext 和 image 数据类型
Redis 全套学习笔记.pdf,太全了
php向mysql写入数据失败
GAN生成动漫头像Pytorch
图扑软件与华为云共同构建新型智慧工厂
Use of thread pool (combined with Future/Callable)
风控特征的优化分箱,看看这样教科书的操作
Mysql 死锁和死锁的解决方案
RNote108---Display the running progress of the R program
奇怪的Access错误
行业应用软件项目经理三步曲
691. 立方体IV
常用的遍历map的方法
mysql使用in函数的一个小问题