GaussDB分布式数据倾斜处理

python 复制代码
常规数据倾斜巡检
在库中表个数少于1W的场景,直接使用倾斜视图查询当前库内所有表的数据倾斜情况
SELECT * FROM pgxc_get_table_skewness ORDER BY totalsize DESC;

在库中表个数非常多(至少大于1W)的场景,因PGXC_GET_TABLE_SKEWNESS涉及全库查并计算非常全面的倾斜字段,所以可能会花费比较长的时间(小时级),请根据PGXC_GET_TABLE_SKEWNESS视图定义,直接使用table_distribution()函数自定义输出,减少输出列进行计算优化,例如

SELECT schemaname,tablename,max(dnsize) AS maxsize, min(dnsize) AS minsize 
FROM pg_catalog.pg_class c 
INNER JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace 
INNER JOIN pg_catalog.table_distribution() s ON s.schemaname = n.nspname AND s.tablename = c.relname 
INNER JOIN pg_catalog.pgxc_class x ON c.oid = x.pcrelid AND x.pclocatortype = 'H' 
GROUP BY schemaname,tablename;

建议:

分布健选择:

  1. 字段的值尽量离散;
  2. 选择分布健唯一键;
  3. 根据业务场景选择多的字段作为分布健。
相关推荐
Gauss松鼠会2 天前
GaussDB调优核心逻辑:分布式架构下的性能挑战
分布式·架构·gaussdb
小云数据库服务专线2 天前
GaussDB 约束的语法
数据库·sql·gaussdb
Borny鼎鼎2 天前
gaussdb demo示例
docker·gaussdb
DarkAthena3 天前
【GaussDB】内存资源告急:深度诊断一起“memory temporarily unavailable“故障
数据库·gaussdb
小云数据库服务专线3 天前
GaussDB as的用法
数据库·sql·gaussdb
小云数据库服务专线4 天前
GaussDB 查看会话连接数
数据库·gaussdb
DarkAthena5 天前
【GaussDB】构建一个GaussDB的Docker镜像
数据库·docker·gaussdb
小云数据库服务专线7 天前
GaussDB 数据库架构师(八) 等待事件概述-1
数据库·数据库架构·gaussdb
Gauss松鼠会7 天前
华为云DRS实现Oracle到GaussDB数据库迁移的全流程技术方案
数据库·sql·安全·华为云·database·gaussdb
王ASC9 天前
Oracle迁移到高斯,查询字段默认小写,解决办法
数据库·oracle·gaussdb