PostgreSQL中使用數(shù)組改進(jìn)性能實(shí)例代碼
前言
postgresql支持?jǐn)?shù)組類型,可以是基本類型,也可以是用戶自定義的類型。日常中使用數(shù)組類型的機(jī)會(huì)不多,但還是可以了解一下。不像C或JAVA高級語言的數(shù)組下標(biāo)從0開始,postgresql數(shù)組下標(biāo)從1開始,既可以指定長度,也可以不指定長度。且postgresql既支持一維數(shù)組,也支持多維數(shù)組,但是平時(shí)二維數(shù)組也就夠用了。
本文將給大家介紹PostgreSQL通過數(shù)組改進(jìn)性能的相關(guān)內(nèi)容,分享出來供大家參考學(xué)習(xí),下面話不多說了,來一起看看詳細(xì)的介紹吧
PostgreSQL通過數(shù)組改進(jìn)性能
創(chuàng)建一個(gè)用戶和設(shè)備關(guān)系映射表,用戶的設(shè)備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ù)導(dǎo)入表:
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)新查詢方式的性能有了巨大的提升!
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關(guān)文章
PostgreSQL使用jsonb進(jìn)行數(shù)組增刪改查的操作詳解
有時(shí)候我們需要使用PostgreSQL這種結(jié)構(gòu)化數(shù)據(jù)庫來存儲(chǔ)一些非結(jié)構(gòu)化數(shù)據(jù),PostgreSQL恰好又提供了json這種數(shù)據(jù)類型,這里我們來簡單介紹使用jsonb的一些常見操作,需要的朋友可以參考下2024-03-03在postgresql中運(yùn)行sql文件并導(dǎo)出結(jié)果的操作
這篇文章主要介紹了在postgresql中運(yùn)行sql文件并導(dǎo)出結(jié)果的操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-01-01PGSQL 實(shí)現(xiàn)把字符串轉(zhuǎn)換成double類型(to_number())
這篇文章主要介紹了PGSQL 實(shí)現(xiàn)把字符串轉(zhuǎn)換成double類型(to_number()),具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-12-12postgreSQL如何設(shè)置數(shù)據(jù)庫執(zhí)行超時(shí)時(shí)間
本文我們將深入探討PostgreSQL數(shù)據(jù)庫中的一個(gè)關(guān)鍵設(shè)置SET?statement_timeout,這個(gè)設(shè)置對于管理數(shù)據(jù)庫性能和優(yōu)化查詢執(zhí)行時(shí)間非常重要,讓我們一起來了解它的工作原理以及如何有效地使用它2024-01-01postgresql 如何查看pg_wal目錄下xlog文件總大小
這篇文章主要介紹了postgresql 如何查看pg_wal目錄下xlog文件總大小的操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-01-01