From: | "Pavel Stehule" <pavel(dot)stehule(at)gmail(dot)com> |
---|---|
To: | "Bruce Momjian" <bruce(at)momjian(dot)us> |
Cc: | PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: some points for FAQ |
Date: | 2007-10-09 20:51:24 |
Message-ID: | 162867790710091351g3479868fyb8f7259352063c17@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
2007/10/9, Bruce Momjian <bruce(at)momjian(dot)us>:
> Pavel Stehule wrote:
> > 4.1)
> >
> > To SELECT a random row, use:
> > SELECT col
> > FROM tab
> > ORDER BY random()
> > LIMIT 1;
> >
> > + On bigger tables this solution is slow. Please, find smarter
> > solution on network.
> >
>
> Well, give me a better example that works.
Better universal solution doesn't exist. Exists only unelegant
solutions - but mutch faster.
SELECT id, ...
FROM data
WHERE id = ANY(ARRAY(
SELECT (random()*:max_id)::int
FROM generate_series(1,20)))
LIMIT 1;
max_id is host variable ~ real max id + some
-- fast solution if id is PK of data
>
> > 4.19)
> >
> > + most of problems with invalid OIDs in cache are solved in PostgreSQL
> > 8.3. Please remeber, so every replanning of SQL statements needs time.
> > Write your application, they can exist without cache invalidation.
>
> Agreed. Item removed.
>
Cache invalidation isn't 100% protection before this error message.
With specific using of EXECUTE statement, you can get this message
too. But all temp tables related problems are solved.
Regards
Pavel Stehule
From | Date | Subject | |
---|---|---|---|
Next Message | Bruce Momjian | 2007-10-09 20:54:07 | Re: some points for FAQ |
Previous Message | Magnus Hagander | 2007-10-09 20:44:02 | Re: Skytools committed without hackers discussion/review |