暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

GBase 8a GDCA认证之DML语句

原创 丽芳 2021-07-09
1330

一、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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论