閱讀540 返回首頁    go 技術社區[雲棲]


Deepgreen數據庫數據分布狀態查詢腳本 - DK值調整參考

數據分布是Deepgreen數據庫中經常需要優化的一個點,為了將數據均勻分布,經常需要在建表初期指定一個合理的分布鍵。但是隨著數據的增多,分區表不免會產生數據傾斜,今天分享一個腳本,用於查詢分區事實表的數據分布狀態,給後期分布鍵的調整提供參考。
腳本簡單封裝了運維常用的查詢語句:

#!/bin/bash
# filename: distributed_status.sh
IFS=$'\n'
db=$1
echo "You will examinate database $1's distribution status!"
# 讀取並生成分布狀態檢查語句存入變量
distributed_status_array=$(psql -p 15432 -d $db -t -c "select 'SELECT gp_segment_id,count(*) from '||schemaname||'.'||tablename||' group by gp_segment_Id;' from pg_partitions group by schemaname,tablename;")
#定義循環查詢函數
function distributed_status(){
for i in $distributed_status_array
do
echo $i
echo "$(psql -h 127.0.0.1 -p 5432 -d $db -t -c "$i")"
done
}
#執行函數
distributed_status

腳本執行前,需要在deepgreen用戶下賦予可執行權限;執行時,在腳本後麵傳入數據庫名:

dgadmin@flash:~$ ./distributed_status.sh tpch

如果IP和端口號與腳本不一致,可以在創建時相應修改~

最後更新:2017-06-12 00:31:49

  上一篇:go  Linux釋放空間腳本 - sync.sh
  下一篇:go  阿裏雲RDS SQL Server-最佳實踐—高CPU使用率問題排查