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或聚合操作效率会骤降。
评论
登录后才可以发表评论
热门帖子
- 12025-12-01浏览数:182759
- 22023-05-09浏览数:25049
- 42023-09-25浏览数:18521
- 52020-05-11浏览数:17526