检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
哈希分区 哈希分区(Hash Partition)基于对分区键使用哈希算法将数据映射到分区。使用的哈希算法为GaussDB内置哈希算法,在分区键取值范围不倾斜(no data skew)场景下,哈希算法在分区之间均匀分布行,使分区大小大致相同。因此哈希分区是实现分区间均匀分布数据
哈希分区 哈希分区(Hash Partition)基于对分区键使用哈希算法将数据映射到分区。使用的哈希算法为GaussDB内置哈希算法,在分区键取值范围不倾斜(no data skew)的场景下,哈希算法在分区之间均匀分布行,使分区大小大致相同。因此哈希分区是实现分区间均匀分布数
哈希分区 哈希分区(Hash Partition)基于对分区键使用哈希算法将数据映射到分区。使用的哈希算法为GaussDB内置哈希算法,在分区键取值范围不倾斜(no data skew)的场景下,哈希算法在分区之间均匀分布行,使分区大小大致相同。因此哈希分区是实现分区间均匀分布数
PG_HASHBUCKET系统表存储hash bucket信息。 表1 PG_HASHBUCKET字段 名称 类型 描述 oid oid 行标识符(隐含字段,必须明确选择)。 bucketid oid 对bucketvector计算的hash值,通过hash值可以加速对bucketvector的查找。
PG_HASHBUCKET系统表存储hash bucket信息。 表1 PG_HASHBUCKET字段 名称 类型 描述 oid oid 行标识符(隐含字段,必须明确选择)。 bucketid oid 对bucketvector计算的hash值,通过hash值可以加速对bucketvector的查找。
PG_HASHBUCKET系统表存储hash bucket信息。 表1 PG_HASHBUCKET字段 名称 类型 描述 oid oid 行标识符(隐含字段,必须明确选择)。 bucketid oid 对bucketvector计算的hash值,通过hash值可以加速对bucketvector的查找。
select hash_group(a,b) from tt where a=1 and b=2; hash_group ------------ 990882385 (1 row) hash_numeric(numeric) 描述:计算Numeric类型的数据的hash值。 参数:Numeric类型的数据。
gaussdb=# SELECT ora_hash(123); ora_hash ------------ 4089882933 (1 row) gaussdb=# SELECT ora_hash('123'); ora_hash ------------ 2034089965
gaussdb=# select ora_hash(123); ora_hash ------------ 4089882933 (1 row) gaussdb=# select ora_hash('123'); ora_hash ------------ 2034089965
参数类型:hash16 返回值类型:cstring hash32in(cstring) 描述:将输入的16进制字符串(32个字符)转化成内部类型hash32形式。 参数类型:cstring 返回值类型:hash32 hash32out(hash32) 描述:将内部hash32类型的
一个分区。 例如,将二级分区表hash_list_sales的分区product1_channel1、product1_channel2、product1_channel3合并为一个新的分区,并更新Global索引。 ALTER TABLE hash_list_sales MERGE
一个分区。 例如,将二级分区表hash_list_sales的分区product1_channel1、product1_channel2、product1_channel3合并为一个新的分区,并更新Global索引。 ALTER TABLE hash_list_sales MERGE
级分区。 例如,假设*-LIST二级分区表hash_list_sales的二级分区product2_channel2的定义范围为DEFAULT。可以指定分割点将其分割为两个分区,并更新Global索引。 ALTER TABLE hash_list_sales SPLIT SUBPARTITION
级分区。 例如,假设*-LIST二级分区表hash_list_sales的二级分区product2_channel2的定义范围为DEFAULT。可以指定分割点将其分割为两个分区,并更新Global索引。 ALTER TABLE hash_list_sales SPLIT SUBPARTITION
参数 类型 描述 取值范围 sql_hash IN bigint SQL的唯一标识。 - sql_hash OUT bigint SQL文本的hash值。 - plan_hash OUT bigint SQL计划outline文本的hash值。 - outline OUT text
gaussdb=# SELECT ora_hash(123); ora_hash ------------ 4089882933 (1 row) gaussdb=# SELECT ora_hash('123'); ora_hash ------------ 2034089965
参数 类型 描述 取值范围 sql_hash IN bigint SQL唯一标识。 - sql_hash OUT bigint SQL文本的hash值。 - plan_hash OUT bigint SQL计划outline文本的hash值。 - outline OUT text
执行,且减少DN之间的通信数据量。 对于Hash分表策略,如果分布列选择不当,可能导致数据倾斜,查询时出现部分DN的I/O短板,从而影响整体查询性能。因此在采用Hash分表策略之后需对表的数据进行数据倾斜性检查,以确保数据在各个DN上是均匀分布的。可以使用以下SQL检查数据倾斜性:
执行,且减少DN之间的通信数据量。 对于Hash分表策略,如果分布列选择不当,可能导致数据倾斜,查询时出现部分DN的I/O短板,从而影响整体查询性能。因此在采用Hash分表策略之后需对表的数据进行数据倾斜性检查,以确保数据在各个DN上是均匀分布的。可以使用以下SQL检查数据倾斜性。
gaussdb=# select ora_hash(123); ora_hash ------------ 4089882933 (1 row) gaussdb=# select ora_hash('123'); ora_hash ------------ 2034089965