From: | John A Meinel <john(at)arbash-meinel(dot)com> |
---|---|
To: | Merlin Moncure <merlin(dot)moncure(at)rcsonline(dot)com> |
Cc: | Postgresql Performance <pgsql-performance(at)postgresql(dot)org> |
Subject: | Re: tricky query |
Date: | 2005-06-28 15:43:25 |
Message-ID: | 42C1701D.5040102@arbash-meinel.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-performance |
Merlin Moncure wrote:
>>Not so bad. Try something like this:
>>
>>SELECT min(id+1) as id_new FROM table
>> WHERE (id+1) NOT IN (SELECT id FROM table);
>>
>>Now, this requires probably a sequential scan, but I'm not sure how
>>
>>
>you
>
>
>>can get around that.
>>Maybe if you got trickier and did some ordering and limits. The above
>>seems to give the right answer, though.
>>
>>
>
>it does, but it is still faster than generate_series(), which requires
>both a seqscan and a materialization of the function.
>
>
>
>>I don't know how big you want to scale to.
>>
>>
>
>big. :)
>
>merlin
>
>
See my follow up post, which enables an index scan. On my system with
90k rows, it takes no apparent time.
(0.000ms)
John
=:->
From | Date | Subject | |
---|---|---|---|
Next Message | Merlin Moncure | 2005-06-28 16:02:09 | Re: tricky query |
Previous Message | Sam Mason | 2005-06-28 15:42:42 | Re: tricky query |