From: Jim C. Nasby <jnasby@pervasive.com>
To: Ruben Rubio Rey <ruben@rentalia.com>
Cc: pgsql-performance@postgresql.org
Subject: Re: Array performance
Date: Fri, 24 Mar 2006 06:52:45 -0600
Message-ID: <20060324125245.GB90527@pervasive.com> (raw)
In-Reply-To: <4423E90E.2090607@rentalia.com>
References: <200603170625.k2H6PJ926955@pillette.com>
<1143112188.2810.27.camel@theo-laptop.int.coza.net.za>
<20060323132448.GB4881@surnet.cl>
<4423E90E.2090607@rentalia.com>
On Fri, Mar 24, 2006 at 01:41:50PM +0100, Ruben Rubio Rey wrote:
> Hi,
>
> I have a select like
>
> SELECT (array[20]+array[21]+ ... +array[50]+array[51]) as total
> FROM table
> WHERE
> (array[20]+array[21]+ ... +array[50]+array[51])<5000
http://www.varlena.com/GeneralBits/109.php might provide some useful
insights. I also recall seeing something about sum operators for arrays,
but I can't recall where.
> AND array[20]<>0
> AND array[21]<>0
> ...
> AND array[50]<>0
> AND array[51])<>0
Uhm... please don't tell me that you're using 0 in place of NULL...
You might be able to greatly simplify that by use of ANY; you'd need to
ditch elements 1-19 though:
... WHERE NOT ANY(array) = 0
See http://www.postgresql.org/docs/8.1/interactive/arrays.html
--
Jim C. Nasby, Sr. Engineering Consultant jnasby@pervasive.com
Pervasive Software http://pervasive.com work: 512-231-6117
vcard: http://jim.nasby.net/pervasive.vcf cell: 512-569-9461
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-performance@postgresql.org
Cc: jnasby@pervasive.com, ruben@rentalia.com
Subject: Re: Array performance
In-Reply-To: <20060324125245.GB90527@pervasive.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox