Re: some points for FAQ - Mailing list pgsql-hackers

From Pavel Stehule
Subject Re: some points for FAQ
Date
Msg-id 162867790710091436l601838e6v2bf96216528a9f60@mail.gmail.com
Whole thread Raw
In response to Re: some points for FAQ  (Bruce Momjian <bruce@momjian.us>)
Responses Re: some points for FAQ
List pgsql-hackers
> > >
> >
> > ok. I accept it. Can be some note there? Not this strange select.
>
> Well, with 8.3 having this be faster I am thinking we should wait to see
> if the hacks are needed.
>

difference, on 10K lines (on small think table)

postgres=# select * from test where i = any(array(select
(random()*10000)::int from generate_series(1,20))) limit 1; i  |  v
-----+-----869 | 113
(1 row)

Time: 3,984 ms

postgres=# select * from test order by random() limit 1; i   |  v
------+-----3687 | 293
(1 row)

Time: 21,978 ms

8.2
postgres=# select * from test order by random() limit 1; i   |  v
------+-----4821 | 608
(1 row)

Time: 51,299 ms

postgres=# select * from test where i = any(array(select
(random()*10000)::int from generate_series(1,20))) limit 1; i  |  v
-----+-----762 | 254
(1 row)

Time: 4,530 ms

Results:

8.3  "fast solution' is 6x faster
8.2  'fast solution' is 11x faster  .. it's minimum.

Pavel

for me, it's one from typical beginers mistakes


pgsql-hackers by date:

Previous
From: Peter Eisentraut
Date:
Subject: Re: Locale + encoding combinations
Next
From: Dave Page
Date:
Subject: Re: Locale + encoding combinations