Re: result set offset -limit que con una query no se encuentra

From: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
To: Guido Barosio <gbarosio(at)gmail(dot)com>
Cc: Emanuel Calvo Franco <postgres(dot)arg(at)gmail(dot)com>, Lista Postgres <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: result set offset -limit que con una query no se encuentra
Date: 2009-05-08 17:05:41
Message-ID: 20090508170541.GE10794@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Guido Barosio escribió:
> Alvaro,
>
> Podrias explicar un poco mas eso? Me dejo algo confundido.

Imagina que tienes una tabla que está ordenada fisicamente así:

3
2
1

En cambio el índice está (obviamente) ordenado físicamente así:
1
2
3

Si haces la siguiente consulta puedes obtener resultados distintos:
select * from tab limit 1

si es que la consulta va directo a la tabla (seqscan) o si usa el
índice. Retornará la primera tupla que encuentre; en seqscan será el 3,
en el indexscan será el 1.

Obviamente si tienes más de un índice, la cosa se pone aún más
complicada. Creo que HOT (en 8.3) puede ponerlo aún más difícil.

--
Alvaro Herrera Valdivia, Chile Geotag: -39,815 -73,257
"The Gord often wonders why people threaten never to come back after they've
been told never to return" (www.actsofgord.com)

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2009-05-08 17:08:05 Re: result set offset -limit que con una query no se encuentra
Previous Message Guido Barosio 2009-05-08 16:54:45 Re: result set offset -limit que con una query no se encuentra