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. 根据业务场景选择多的字段作为分布健。
相关推荐
xuekai200809014 天前
GaussDB一次小故障修复
gaussdb
Gauss松鼠会4 天前
GaussDB慢sql信息收集和执行计划查看
数据库·sql·gaussdb
小云数据库服务专线5 天前
GaussDB 应用侧报no pg_hba.conf entry for host处理方法
服务器·网络·gaussdb
小云数据库服务专线8 天前
GaussDB 应用侧报Read timed out解决方法
linux·服务器·gaussdb
小云数据库服务专线10 天前
GaussDB DN动态内存使用满导致DN主备切换
gaussdb
小云数据库服务专线10 天前
GaussDB 分布式下, 报错concurrent update under Stream mode is not yet support
gaussdb
Gauss松鼠会11 天前
【GaussDB】使用MySQL客户端连接到GaussDB的M-Compatibility数据库
数据库·mysql·gaussdb
clownAdam11 天前
gaussdb数据库的集中式和分布式
数据库·分布式·gaussdb
蒋士峰DBA修行之路18 天前
实验十八 GaussDB安全管理实验
gaussdb
蒋士峰DBA修行之路18 天前
实验二十一 GaussDB物理备份恢复
gaussdb