Re: Matching several rows - Mailing list pgsql-sql

From Michael Glaesemann
Subject Re: Matching several rows
Date
Msg-id A6164E21-A45C-4308-A38A-4CA86CA9A265@myrealbox.com
Whole thread Raw
In response to Re: Matching several rows  (Volkan YAZICI <yazicivo@ttnet.net.tr>)
Responses Re: Matching several rows  (Patrick JACQUOT <patrick.jacquot@anpe.fr>)
List pgsql-sql
On Jan 18, 2006, at 21:48 , Volkan YAZICI wrote:

> AFAICS, the bottleneck in above query is ANY(ARRAY[]) clause usage.
> Instead of that, if you replace «rights = ANY(ARRAY[2,5,10])» with
> «rights IN (2,5,10)» it's overhead decreases to 0.200-0.300ms domain.

explain analyze
SELECT id
FROM (    SELECT id, sum(1) AS s    FROM urights    WHERE uright in (2,5,10)    GROUP BY id) AS t
WHERE s = 3;                                                 QUERY PLAN
------------------------------------------------------------------------
-------------------------------------
Subquery Scan t  (cost=1.14..1.19 rows=2 width=4) (actual
time=0.106..0.108 rows=1 loops=1)   ->  HashAggregate  (cost=1.14..1.17 rows=2 width=4) (actual
time=0.103..0.105 rows=1 loops=1)         Filter: (sum(1) = 3)         ->  Seq Scan on urights  (cost=0.00..1.10 rows=4
width=4)  
(actual time=0.029..0.038 rows=5 loops=1)               Filter: ((uright = 2) OR (uright = 5) OR (uright = 10))
Total runtime: 0.386 ms
(6 rows)


Michael Glaesemann
grzm myrealbox com





pgsql-sql by date:

Previous
From: Volkan YAZICI
Date:
Subject: Re: Matching several rows
Next
From: Ivan Steganov
Date:
Subject: Re: Matching several rows