Re: SQL pour trouver le premier libre?

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)

In response to

Responses

Browse pgsql-fr-generale by date

  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?