GBase 8a
其他
文章

【GBase 8a小技巧】如何快速查看表的数据分布情况

发表于2026-06-05 01:18:0730次浏览3个评论

GBase 8a是列存数据库,数据按分布键散列在各节点。查看数据是否分布均匀,可以用这条SQL:

SELECT    gccli.hostname AS 节点,    COUNT(*) AS 数据行数,    ROUND(COUNT(*) / SUM(COUNT(*)) OVER() * 100, 2) AS 占比百分比 FROM    表名 GROUP BY    gccli.hostname;

使用场景:

  • 判断分布键选择是否合理(分布均匀度低于80%说明键选得不好)
  • 排查数据倾斜问题导致的查询性能瓶颈

原理:gccli.hostname是GBase的伪列,可以标识数据行所在的实际节点。通过它即可快速得到每台机器上的数据分布情况,无需登录各节点查询。


这个小技巧在排查性能问题时非常实用,数据一旦分布不均,大表JOIN或聚合操作效率会骤降。

评论

登录后才可以发表评论
用户头像
GBase用户28017发表于 2个月前
谢谢分享。
用户头像
mittens发表于 1个月前
很棒的技巧分享
用户头像
XX发表于 1个月前
感谢分享