| From: | Alvaro Herrera <alvherre(at)commandprompt(dot)com> |
|---|---|
| To: | Manuel Lamas <manuel3w(at)hotmail(dot)com> |
| Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
| Subject: | Re: Para reemplazar ORDER BY RANDOM() |
| Date: | 2007-11-12 12:20:37 |
| Message-ID: | 20071112122037.GB6890@alvh.no-ip.org |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-es-ayuda |
Manuel Lamas escribió:
>
> Hola lista.
>
> Tengo una tabla bastante pesada y necesito sacar una linea en Random.
>
> El problema es que haciendo un EXPLAIN ANALYSE veo que postgres
> escanea toda la tabla para cumplir con ORDER BY RANDOM() LIMIT 1.
>
> Me pregunto si no hay una manera (sin que escanee toda la tabla) de me
> de la linea numero x (numero "x" que yo crearía con C++).
Es un problema complicado :-) Si tuvieras un ID numerico (un campo
serial por ejemplo) podrias hacer algo como
http://archives.postgresql.org/pgsql-general/2007-10/msg01606.php
El thread completo, donde se muestran varias ideas, aca:
http://thread.gmane.org/gmane.comp.db.postgresql.general/98185
--
Alvaro Herrera http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Alvaro Herrera | 2007-11-12 12:23:40 | Re: Actualizacion en Cascada de llave primaria |
| Previous Message | Alvaro Herrera | 2007-11-12 11:56:12 | Re: Deben de Baja |