一、INSERT语法
从DC尾块新增数据,不影响已入库的数据。批量入库性能高于单条入库性能。
INSERT [INTO] [database_name.]table_name [(col_name,...)] VALUES ({expr|DEFAULT},...),(...),...
或者
INSERT [INTO] [database_name.]table_name [(col_name,...)] SELECT ... FROM [database_name.]table_name...;
注:与Oracle区别,GBase 8a支持不写INTO关键字,并且默认自动提交。
二、UPDATE语法
UPDATE [database_name.]table_name SET col_name1=expr1[,col_name2=expr2...][WHERE where_definition]
注:不支持更新distributed by定义列的值
快速UPDATE模式
- update默认全列更新,更新条数较少时,性能较差。
- 快速update模式等价于delete+insert
- 提高存储数据更新操作效率问题
- 更新少量数据时,建议使用快速update模式
- 使用SET gbase_fast_update=1;命令打开快速UPDATE模式,默认为关闭。
SHOW variables like 'gbase_fast_update';
SET gbase_fast_update=1;
UPDATE student SET sage = sage+1 WHERE sage < 20;
三、DELETE语法
对删除数据只标记删除标志,不实际删除数据。
DELETE [FROM][database_name.]table_name [tbl_alias] [WHERE where_definition];
四、空间回收
释放被删除的数据文件所占的磁盘空间。
ALTER TABLE [vc_name.][database_name.]tbl_name SHRINK SPACE [FULL]|[FULL BLOCK_REUSE_RATIO=num];
- 文件回收:不指定FULL关键字时以文件为单位回收磁盘空间
- 行级回收:指定FULL关键字,按删除的行进行空间回收
- 块级(DC)回收:指定FULL BLOCK_REUSE_RATIO=num,当每个数据包(DataCell)中有效数据占比低于该设置值时,DC进行空间回收
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。