GreenPlum日常總結

2021-08-19 07:06:32 字數 2646 閱讀 2455

1、計算佔比

--保留小數點兩位,拼接%

round

((a2.uv-a1.uv)

/a1.uv::numeric

*100,2

)||'%'as ratio

2、計算儲存

--檢視外部表的儲存大小

select pg_size_pretty(pg_relation_size(

'ods.ods_dev_device_info_d_ext_20191225'

))

3、decode條件判讀

--單條件的字串對比case when

decode(carrier_id,-1

,public

.p_pub_get_randon_carrier_id(

) :: integer,4

,public

.p_pub_get_randon_carrier_id(

):: integer

,carrier_id) carrier_id;

decode(expression,

value

,return[,

value

,return].

..[,

default

])

4、包含指定欄位的表的查詢

-- 獲取非分割槽表

select table_name,pg_size_pretty(pg_relation_size(

'bds.'

|| table_name)

)from information_schema.

columns

where table_schema =

'bds'

and column_name =

'device_id'

and table_name not

like

'%_1_prt_%'

and table_name not

like

'%_ext_%'

and table_name notin(

select

distinct split_part(table_name,

'_1_prt_',1

)from information_schema.

columns

where table_schema =

'bds'

and column_name =

'device_id'

and table_name like

'%_1_prt_%'

)and pg_relation_size(

'bds.'

|| table_name)

>

0order

by pg_relation_size(

'bds.'

|| table_name)

desc

-- 獲取分割槽表

select

split_part(table_name,

'_1_prt_',1

),min(table_name)

,max

(table_name)

,count(1

) cnt

from information_schema.

columns

where table_schema =

'bds'

and column_name =

'device_id'

and table_name like

'%_1_prt_%'

and pg_relation_size(

'bds.'

|| table_name)

>

0groupby1

order

by cnt desc

3、delete table

--使用 delete from 操作一張表即時沒有限制條件,依舊很慢,而且占用大量io,建議使用truncate,因為它不做表掃瞄

delete

from

table

--truncate在在操作的每個表上請求乙個access exclusive鎖, 這種鎖會阻塞表上的所有其他併發操作。如果需要對乙個表併發訪問, 那麼應該使用delete命令

truncate

table

4、檔案匯出

psql -h192.

168.1

.1>

/data1_4t/

data

pg_dump -h192.

168.1.1.

sql

5、去重表中重複資料

-- 剔除重複行的資料轉存到新錶

select

distinct

*-- 將原表表重新命名

alter

-- 重新建立原表

複製貼上建表語句,重新建立原表

-- 將舊表表重新命名

insert

select

*

總結 日常總結

最近變得浮躁了,學不進了,那就寫總結吧。關於刷題 從去年十一月份到現在,感覺唯一堅持的意見事情就是刷力扣了。四個多月,寫了六百多道題,大概有四五題一天,然後也在堅持參加周賽。很多時候,有些事情成了習慣,那麼也就不需要去堅持了。比如說現在,每天都是先把每日一題和劍指 offer 的任務完成了再開始做其...

日常學習總結

關於vb中的把字串 日期型 數值型 賦值給某個變數的寫法 eg dim m1,r 此處我並不清楚 m1 到底是什麼型別 所以vb會自動匹配其應該所屬的型別,這是vb的一點強大之處 m select fitemid from t item where fitemclassid 3 and fnumbe...

Android日常總結

個人在此記錄一下.2,有時候 出現了異常,但是androidstudio並不列印錯誤資訊.這時候,我們可以通過斷點來除錯,如果斷點走到某一步了,不繼續往下面走,說名剛剛的那行 有問題,比如說textview.settext 1 textview設定乙個int值,這時系統可能沒有列印錯誤日誌.3,在l...