PostgreSQL使用数组改进性能实例代码教程

2018-12-1618:47:36数据库教程Comments2,958 views字数 688阅读模式

postgresql支持数组类型,可以是基本类型,也可以是用户自定义的类型。日常中使用数组类型的机会不多,但还是可以了解一下。不像C或JAVA高级语言的数组下标从0开始,postgresql数组下标从1开始,既可以指定长度,也可以不指定长度。且postgresql既支持一维数组,也支持多维数组,但是平时二维数组也就够用了。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/8682.html

本文将给大家介绍PostgreSQL通过数组改进性能的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/8682.html

PostgreSQL通过数组改进性能文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/8682.html

创建一个用户和设备关系映射表,用户的设备ID存放在数组字段里面:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/8682.html

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)
)

将数据导入表:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/8682.html

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

比较原查询方式和新查询方式的性能:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/8682.html

原查询方式:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/8682.html

PostgreSQL使用数组改进性能实例代码教程文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/8682.html

新查询方式:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/8682.html

PostgreSQL使用数组改进性能实例代码教程文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/8682.html

可以发现新查询方式的性能有了巨大的提升!文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/8682.html

  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/sjk/8682.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定