1、GreenPlum各个segment中表数据的分布情况
SELECT gp_segment_id, count(*)
FROM table_name
GROUP BY gp_segment_id;
2、segment主机IP变化之后master的启动
1)修改segment主机的 /etc/hosts
2)修改master主机的 /etc/hosts
3)重新生成keys文件
# gpssh-exkeys -f all_host_file
4)修改 $MASTER_DATA_DIRECTORY/global 下包含旧 IP 的文件
# sed ‘s/old_ip/new_ip/g’ filename > filename
3、Greenplum 数据与索引
1)查看某个数据库占用空间大小
# gpsizecalc -x database -s m --整体情况
# gpsizecalc -x database -s m -f -- 各个segment的数据分布情况
2)查看某个数据表占用空间大小
# gpsizecalc -t schema.table -s m -a database --整体情况
# gpsizecalc -t schema.table -s m -f -a database --各个segment的数据分布情况
3)查看某个数据表的索引占用空间大小
# gpsizecalc -t schema.table -s m -i -f -a database --各个segment的索引大小
4)索引实例
数据库:hust
模式 :hust
数据表:charge(id, phonenum, createtime) -- 100w 数据行
步骤一
# gpsizecalc -t hust.charge -s m -a hust --查看表数据的大小
显示数据结果:150.27MB
# gpsizecalc -t hust.charge -s m -i -a hust --查看表索引的大小
显示数据结果: 0MB
步骤二
SQL> SELECT * FROM hust.charge WHERE phonenum='value' ;
得到6组数据结果:
1 2 3 4 5 6
357ms 595ms 635ms 664ms 583ms 632ms
步骤三
SQL>CREATE INDEX ind_ph ON hust.charge(phonenum);
步骤四
# gpsizecalc -t hust.charge -s m -a hust --查看表数据的大小
显示数据结果:176.02MB
# gpsizecalc -t hust.charge -s m -i -a hust --查看表索引的大小
显示数据结果: 25.75MB
步骤五
SQL> SELECT * FROM hust.charge WHERE phonenum='value' ;
得到6组数据结果:
1 2 3 4 5 6
229ms 230ms 204ms 245ms 241ms 225ms
实例对比结果:
a、单列索引占用整体数据的比例:18.8%
b、单列索引查询平均效率比:1:2.5