GBase 8a将Hash分布表转成随机分布表的方法

本文涉及的产品
RDS AI 助手,专业版
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
简介: GBase 8a将Hash分布表转成随机分布表的方法

一张id为分布列的hash分布表。

gbase> create table t_hash(id int, name varchar(100))distributed by('id');
Query OK, 0 rows affected (Elapsed: 00:00:00.66)

gbase> show create table t_hash;
+--------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table |
+--------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| t_hash | CREATE TABLE "t_hash" (
"id" int(11) DEFAULT NULL,
"name" varchar(100) DEFAULT NULL
) ENGINE=EXPRESS DISTRIBUTED BY('id') DEFAULT CHARSET=utf8 TABLESPACE='sys_tablespace' |
+--------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (Elapsed: 00:00:00.00)

重建表
该方法适合所有版本,无任何风险。

新建一张表,表结构与hash分布表一样,但去掉hash分布列

create table t_nohash(id int, name varchar(100));
insert into t_nohash select * from t_hash;
rename table t_hash to t_hash_BAK;
reanem table t_nohash to t_hash ;
如上的rename操作确认所有业务正常后,可以考虑删除t_hash_BAK表以便节省空间。

删除hash列关键字
该方法在9.5的手册里出现,86未注意,但预计能用。

gbase> drop distributed column on t_hash;
Query OK, 0 rows affected (Elapsed: 00:00:00.02)

gbase> show create table t_hash;
+--------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table |
+--------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+
| t_hash | CREATE TABLE "t_hash" (
"id" int(11) DEFAULT NULL,
"name" varchar(100) DEFAULT NULL
) ENGINE=EXPRESS DEFAULT CHARSET=utf8 TABLESPACE='sys_tablespace' |
+--------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (Elapsed: 00:00:00.00)

相关文章
|
SQL 索引
如何删除表中的重复记录只保留其中一条?
如何删除表中的重复记录只保留其中一条?
488 0
csv 如果是utf-8 那么excel打开的时候为啥是乱码
csv 如果是utf-8 那么excel打开的时候为啥是乱码
1241 0
|
数据挖掘 BI 定位技术
南大通用GBase 8s 高级分组查询 —— GROUP BY ROLLUP介绍
本文详细介绍了GBase 8s数据库中GROUP BY ROLLUP的高级分组查询功能,涵盖基本概念、语法结构、应用示例及使用场景。ROLLUP支持多维度数据汇总,适用于销售分析、财务报表和用户统计等领域,提升数据汇总的灵活性与便捷性。
|
XML 安全 Java
Spring AOP—深入动态代理 万字详解(通俗易懂)
Spring 第四节 AOP——动态代理 万字详解!
574 24
|
SQL 数据库
GBase 8a空闲超时sleep优化配置方法
GBase 8a空闲超时sleep优化配置方法
|
SQL 数据库
gbase8a 公用表表达式(CTE)语法介绍
gbase8a 公用表表达式(CTE)语法介绍
|
前端开发 API Python
如何在Python中接收前端POST上传的文件
如何在Python中接收前端POST上传的文件
1642 2
|
存储 分布式计算 分布式数据库
风险数据集市整体架构及技术实现
【11月更文挑战第11天】在当今大数据时代,风险数据集市作为金融机构的核心基础设施之一,扮演着至关重要的角色。它不仅为银行、保险等金融机构提供了全面、准确的风险数据支持,还帮助这些机构实现了风险管理的精细化和智能化。本文将深入探讨一种基于大数据Lambda架构设计的风险数据集市整体架构,并详细介绍其底层实现原理及实现方式。
500 3
|
数据可视化 图形学 UED
只需四步,轻松开发三维模型Web应用
为了让用户更方便地应用三维模型,阿里云DataV提供了一套完整的三维模型Web模型开发方案,包括三维模型托管、应用开发、交互开发、应用分发等完整功能。只需69.3元/年,就能体验三维模型Web应用开发功能!
1157 9
只需四步,轻松开发三维模型Web应用
|
前端开发 JavaScript Java
招聘信息管理|基于SpringBoot招聘信息管理系统
招聘信息管理|基于SpringBoot招聘信息管理系统
662 1