数据分布:
greenplum中数据分布情况直接影响到查询的效率,原因是greenplum架构是由性能最差的segment实例决定,所以数据分布不均匀会影响整个集群的性能。
检查数据的偏斜/倾斜情况:
SELECT * FROM gp_toolkit.gp_skew_coefficients WHERE skcrelname = 'table_name'; --查看skccoeff偏差系数
SELECT * FROM gp_toolkit.gp_skew_idle_fractions WHERE skcrelname = 'table_name';--查看空闲偏差系数:越小越好
查看数据分布情况:
select gp_segment_id,count(*) from table_name group by gp_segment_id;
重新平衡表数据:
如果表的分布键合理,直接重分布数据:
alter table table_name set with(reorganize=true);
否则重新调整分布键再执行重分布:
alter table table_name set distributed by (col1,col2...);
Greenplum的数据分布对其查询效率至关重要,因为系统性能由最弱的segment决定。通过查询gp_toolkit视图可以检查数据偏斜和空闲偏差系数。如果发现数据分布不均,可以使用`ALTERTABLE`语句进行数据重分布或调整分布键以优化性能。
2202






