Re: preevaluar consulta

From: Raúl Andrés Duque Murillo <ra_duque(at)yahoo(dot)com(dot)mx>
To: "Gabriel Ferro" <gabrielrferro(at)yahoo(dot)com(dot)ar>, <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: preevaluar consulta
Date: 2008-06-20 06:02:03
Message-ID: B19BE319F84A4E1AB62BA35FCE4987AA@Principal
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

>
>
>From: Gabriel Ferro
>Sent: Friday, June 20, 2008 1:24 PM
>To: pgsql-es-ayuda(at)postgresql(dot)org
>Subject: Re: [pgsql-es-ayuda] preevaluar consulta
>
>
>Encontre lo de crear indices secundarios con
>
>CREATE INDEX inombrepersonas ON analisis.personas(nombre);
>
>
>no uso unique por si hay personas con el mismo nombre (raro pero puede ser)
>
>las dudas
>-el metodo por defecto (BTREE) es el adecuado para nombres
>-cuando hago el where con el LIKE '%nombre' es el motor el que decide si
>usar el indice o tengo que indicarle yo de alguna manera?

Definitivamente un LIKE '%algo' NO utilizará este índice a diferencia de
algo del tipo LIKE 'algo%' que SI lo usuaria. Un índice de tipo btree
siempre tiene que tener un punto por el cual empezar a explorar el árbol y
si no fijas una contante que inicie la cadena pues no se usará.

Si son muy frecuentes las búsquedas de este tipo (LIKE '%algo%'), si tu
cantidad de datos lo amerita y si realmente sientes que hay retardos al
hacer esta búsqueda puede utilizar índice FTS. Desde la versión 8.3 lo
encuentras en el core de postgresql, para versiones anteriores esta
disponible por contrib.

Atentamente,

RAUL DUQUE
Bogotá, Colombia

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Raúl Andrés Duque Murillo 2008-06-20 09:06:12 Auditoria de tablas
Previous Message Marcos Saldivar 2008-06-19 22:05:42 Re: Cad + Postgres