From: | Alvaro Herrera <alvherre(at)surnet(dot)cl> |
---|---|
To: | Miguel Juliÿffffe1n de la Fuente <jmdelafuente(at)yahoo(dot)com(dot)ar> |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Indices |
Date: | 2005-05-26 19:17:50 |
Message-ID: | 20050526191750.GC10667@surnet.cl |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
On Thu, May 26, 2005 at 03:27:51PM -0300, Miguel Juliÿffffe1n de la Fuente wrote:
> Hola: tengo un problema con una consulta muy simple. Tengo una tabla con un campo a int2, y le creé un índice de tipo B-Tree a dicho campo.
> Cuando hago la sgte consulta Select * from mytabla where a>=5,no sé por qué no utiliza el índice.
> Por lo que estuve leyendo en la documentación esta consulta tendría que hacer uso del indice, pero cuando pido el plan de ejecución me muestra que hace un scan sobre la tabla.
> Alguién puede decirme cómo hacer para que utilize en índice?
Dos maneras:
1. usa un literal de string en vez de uno numerico:
Select * from mytabla where a>= '5'
2. usa un cast
Select * from mytabla where a>= 5::smallint
2b. usa un cast conforme a SQL
Select * from mytabla where a>= cast(5 as smallint)
--
Alvaro Herrera (<alvherre[a]surnet.cl>)
"Escucha y olvidarás; ve y recordarás; haz y entenderás" (Confucio)
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2005-05-26 19:32:45 | Re: commit dentro de plpgsql |
Previous Message | Ing. Jhon Carrillo - Caracas, Venezuela | 2005-05-26 19:16:30 | commit dentro de plpgsql |