Re: mal advice in FAQ 4.1.

From: "Nikolay Samokhvalov" <samokhvalov(at)gmail(dot)com>
To: "Pavel Stehule" <pavel(dot)stehule(at)gmail(dot)com>
Cc: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: mal advice in FAQ 4.1.
Date: 2007-10-09 12:52:30
Message-ID: e431ff4c0710090552y79af2b31gb159eb8e9ccf9bd6@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hubert recently posted his thoughts on this topic:
http://www.depesz.com/index.php/2007/09/16/my-thoughts-on-getting-random-row/

I've encountered with this problem several times in web development and
every time found out that the best (in terms of performance) solution is to
use some pseudo random approach (such as ">= random() limit 1" or "limit 1
offset random()*N" or even pre-caching rows on app side).

On 10/9/07, Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com> wrote:
>
> Hello
>
> I found lot of slow queries in some databases which I checked based on
> advice 4.1. from FAQ,
>
> To SELECT a random row, use:
> SELECT col
> FROM tab
> ORDER BY random()
> LIMIT 1;
>
> It's robust and slow on bigger tables. Can we add some better solutions?
>

--
Best regards,
Nikolay

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Pavel Stehule 2007-10-09 13:05:13 Re: mal advice in FAQ 4.1.
Previous Message Peter Eisentraut 2007-10-09 12:36:28 Re: Timezone database changes