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. 根据业务场景选择多的字段作为分布健。
相关推荐
三次握手四次挥手17 天前
GaussDB使用指南
gaussdb
Gauss松鼠会18 天前
GaussDB回调机制深度实践:从事件驱动到系统集成
开发语言·javascript·数据库·sql·gaussdb
Gauss松鼠会19 天前
GaussDB Plan Hint调优实战:从执行计划控制到性能优化
数据库·sql·性能优化·database·gaussdb
Gauss松鼠会21 天前
GaussDB性能调优:从根因分析到优化落地
数据库·性能优化·database·gaussdb
Mr.洛 白24 天前
OpenEuler/CentOS一键部署OpenGauss数据库教程(脚本+视频)
数据库·opengauss·gaussdb·国产数据库安装·安装脚本
爱的叹息24 天前
华为高斯(GaussDB)数据库中 Range、List、Hash三种分区方式 的完整SQL示例及增删改查操作,并附上总结对比表格
数据库·哈希算法·gaussdb
爱的叹息1 个月前
华为高斯(GaussDB) 集中式数据库 的开发技术手册,涵盖核心功能、开发流程、优化技巧及常见问题解决方案
数据库·gaussdb
runfarther1 个月前
华为GaussDB数据库的手动备份与还原操作介绍
gaussdb
笑远1 个月前
GaussDB 内存结构详解
数据库·gaussdb
笑远1 个月前
GaussDB 主从复制原理详解
数据库·gaussdb