GBASE中如何实现insert-select将源表数据随机平均分布插入到目标表

妞果 2021-03-26 11:59:48
使用过GBASE-8A的同学应该都大概知道GBASE表的分布态,有时候由于表的分布不均会造成数据倾斜而影响性能,
直接进行随机表转储时会依照源表的分布情况一致,那么如何强制随机分布转储呢?
使用如下方式,首先gccli连接进入时加参数c,同时SQL中加hint控制。
eg:
gccli -ugbase -pxxxxx -c
gbase> insert into 目标表 select * from (select /*+grouped('-1')*/ * from 源表) t;

另,关于随机表的数据插入有一个参数控制,如下:
gcluster_random_insert
用于控制随机分布表 在执行 insert value时,发起的集群节点上存在单机 时,数据分布到单机的原则。
0:insert value数据都落在和发起集群节点相同的单机上;
1:insert value进入的每条数据,采用random()%分片数 原则,随机 落在任意单机 节点 。
...全文
6670 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

7,388

社区成员

发帖
与我相关
我的任务
社区描述
其他数据库开发 数据仓库
社区管理员
  • 数据仓库
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧