From: | Jean-Paul Argudo <jean-paul(at)argudo(dot)org> |
---|---|
To: | Pierre Couderc <pierre(at)couderc(dot)cc> |
Cc: | pgsql-fr-generale(at)postgresql(dot)org |
Subject: | Re: SQL pour trouver le premier libre? |
Date: | 2006-06-03 09:43:09 |
Message-ID: | 448159AD.4070405@argudo.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-fr-generale |
Re (dernier post, promis)
> Mieux, non :-)
Non c'est mieux *après* le café...
test2=> select a+1 as id_disponible from nombres except select a from
nombres order by id_disponible limit 1;
id_disponible
---------------
4
(1 ligne)
C'est à dire que la condition WHERE ne sert plus à grand chose (dans la
mesure où a>0 tout le temps) dans mon exemple !
test2=> explain select a+1 as id_disponible from nombres except select a
from nombres order by id_disponible limit 1;
QUERY PLAN
------------------------------------------------------------------------------------------
Limit (cost=333.73..333.78 rows=1 width=4)
-> SetOp Except (cost=333.73..353.13 rows=388 width=4)
-> Sort (cost=333.73..343.43 rows=3880 width=4)
Sort Key: id_disponible
-> Append (cost=0.00..102.45 rows=3880 width=4)
-> Subquery Scan "*SELECT* 1" (cost=0.00..53.65
rows=1940 width=4)
-> Seq Scan on nombres (cost=0.00..34.25
rows=1940 width=4)
-> Subquery Scan "*SELECT* 2" (cost=0.00..48.80
rows=1940 width=4)
-> Seq Scan on nombres (cost=0.00..29.40
rows=1940 width=4)
(9 lignes)
From | Date | Subject | |
---|---|---|---|
Next Message | Pierre Couderc | 2006-06-03 09:48:44 | Re: SQL pour trouver le premier libre? |
Previous Message | Jean-Paul Argudo | 2006-06-03 09:38:00 | Re: SQL pour trouver le premier libre? |