前言
postgresql支持數組類型,可以是基本類型,也可以是用戶自定義的類型。日常中使用數組類型的機會不多,但還是可以了解一下。不像C或JAVA高級語言的數組下標從0開始,postgresql數組下標從1開始,既可以指定長度,也可以不指定長度。且postgresql既支持一維數組,也支持多維數組,但是平時二維數組也就夠用了。
本文將給大家介紹PostgreSQL通過數組改進性能的相關內容,分享出來供大家參考學習,下面話不多說了,來一起看看詳細的介紹吧
PostgreSQL通過數組改進性能
創建一個用戶和設備關系映射表,用戶的設備ID存放在數組字段里面:
CREATE TABLE device.user_devices
(
user_id character varying(32) COLLATE pg_catalog."default" NOT NULL,
device_ids character varying[] COLLATE pg_catalog."default" NOT NULL,
CONSTRAINT user_devices_pkey PRIMARY KEY (user_id)
)
將數據導入表:
insert into device.user_devices
select device_owner, array_agg(device_id)
from device.device_info
where device_owner is not null
and device_owner != ''
group by device_owner
比較原查詢方式和新查詢方式的性能:
原查詢方式:

新查詢方式:

可以發現新查詢方式的性能有了巨大的提升!
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
您可能感興趣的文章:- PostgreSQL 對數組的遍歷操作
- Mybatis調用PostgreSQL存儲過程實現數組入參傳遞
- 在PostgreSQL中使用數組時值得注意的一些地方
- postgresql 實現將數組變為行