Re: [Pgsql-ayuda] select like con tablas grandes

From: Martin Marques <martin(at)bugs(dot)unl(dot)edu(dot)ar>
To: "Manuel Infante Ruiz" <manri2003(at)hotmail(dot)com>, pgsql-ayuda(at)tlali(dot)iztacala(dot)unam(dot)mx
Subject: Re: [Pgsql-ayuda] select like con tablas grandes
Date: 2003-05-13 12:02:58
Message-ID: 200305130902.58709.martin@bugs.unl.edu.ar
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

On Mar 13 May 2003 08:49, Manuel Infante Ruiz wrote:
> Hola lista....
>
> Tengo un pequeño problema... que no sé cómo resolver....
>
> Tengo una tabla con aprox. 700.000 registros. A esta tabla le hago de
> vez en cuando consultas del tipo
>
> Select * from libros where titulo like '%cervantes%';
>
> el problema está no sólo en lo que tarda en devolver el resultado. El
> verdadero problema está en que algunas veces ni siquiera lo devuelve y
> la consulta se queda colgada... o éso parece.
>
> ¿Alguien sbe a qué puede ser debido ésto?

Para saber que va a hacer el motor con una consulta, hace esto:

EXPLAIN Select * from libros where titulo like '%cervantes%'

Ahio te va a decir como va a buscar los registros esos.

> ¿Existe alguna manera eficiente de indexar campos varchar y que coja el
> índice buscando por subcadenas?

CREATE INDEX nombre_indice ON libros(titulo)

Si no tenias este indice, crealo y corre de nuevo el EXPLAIN para ver como
cambia.

> He consultado el documento "Full Text Index" pero no sé qué tipo de
> consulta SQL hay que mandar para que utilice el índice buscando por
> subcadenas.

Por lo que tengo entendido, esto sirve para cuando estas haciendo una
busqueda en un campo TEXT, los cuales no se indexan, o al menos no tiene
sentido indexar.

--
Porqué usar una base de datos relacional cualquiera,
si podés usar PostgreSQL?
-----------------------------------------------------------------
Martín Marqués | mmarques(at)unl(dot)edu(dot)ar
Programador, Administrador, DBA | Centro de Telematica
Universidad Nacional
del Litoral
-----------------------------------------------------------------

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Patricio Muñoz 2003-05-13 12:56:47 Re: [Pgsql-ayuda] Recuperar Datos
Previous Message Manuel Infante Ruiz 2003-05-13 11:49:10 [Pgsql-ayuda] select like con tablas grandes