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松鼠会14 天前
数据库高安全—审计追踪:传统审计&统一审计
网络·数据库·安全·oracle·gaussdb
GottdesKrieges15 天前
GaussDB用户权限管理
数据库·oracle·gaussdb
Gauss松鼠会16 天前
GaussDB安全配置建议
大数据·网络·数据库·安全·gaussdb
GottdesKrieges1 个月前
GaussDB日常维护操作
数据库·sql·gaussdb
GottdesKrieges1 个月前
GaussDB数据库故障定位手段
java·数据库·gaussdb
GottdesKrieges1 个月前
GaussDB中的Vacuum和Analyze
数据库·gaussdb
GottdesKrieges1 个月前
GaussDB创建不同兼容模式的数据库
数据库·gaussdb
Gauss松鼠会1 个月前
使用DAS的导出和导入功能迁移GaussDB数据
数据库·oracle·gaussdb
Gauss松鼠会1 个月前
GaussDB事务和并发控制机制
java·数据库·sql·华为云·gaussdb