前言
postgresql支持數(shù)組類型,可以是基本類型,也可以是用戶自定義的類型。日常中使用數(shù)組類型的機會不多,但還是可以了解一下。不像C或JAVA高級語言的數(shù)組下標從0開始,postgresql數(shù)組下標從1開始,既可以指定長度,也可以不指定長度。且postgresql既支持一維數(shù)組,也支持多維數(shù)組,但是平時二維數(shù)組也就夠用了。
本文將給大家介紹PostgreSQL通過數(shù)組改進性能的相關內容,分享出來供大家參考學習,下面話不多說了,來一起看看詳細的介紹吧
PostgreSQL通過數(shù)組改進性能
創(chuàng)建一個用戶和設備關系映射表,用戶的設備ID存放在數(shù)組字段里面:
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)
)
將數(shù)據(jù)導入表:
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
比較原查詢方式和新查詢方式的性能:
原查詢方式:
新查詢方式:
可以發(fā)現(xiàn)新查詢方式的性能有了巨大的提升!
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
您可能感興趣的文章:- PostgreSQL 對數(shù)組的遍歷操作
- Mybatis調用PostgreSQL存儲過程實現(xiàn)數(shù)組入?yún)鬟f
- 在PostgreSQL中使用數(shù)組時值得注意的一些地方
- postgresql 實現(xiàn)將數(shù)組變?yōu)樾?/li>