----- Original Message -----
From: "Gabriel Ferro" <[email protected]>
To: <[email protected]>
Sent: Thursday, January 08, 2009 8:22 AM
Subject: Re: [pgsql-es-ayuda] Manejo de Tsearch
ACLARACION
partiendo que no tengo indice secundarios normales para el campo sobre el
que busco
solo tengo un indice que me pide el tsearch para el campo tsvector.
ademas la bd tiene miles de inserciones, borrados, cambios de tablas
producto de torpezas y otras cosas. Ademas ayer intente un "vacum full
>analyce" pero no se si se hizo ya que al servidor accedo desde otro con
ssh y me dio que la coneccion fue cortada, creo producto de que no envia
>señales keepalives y no he encotrado como configurar que no la corte...
la tabla personas tiene tiene mas de 30 millones de registros.
RESULTADOS
le paso los tiempos que me dieron....
consulta
SELECT padrones.personas.clave,
headline('default_spanish',padrones.personas.nombre,tsq),
rank(isearch_nombre,tsq) as puntaje FROM
>padrones.personas,to_tsquery('default_spanish','FERRO & GABRIEL') tsq
WHERE isearch_nombre @@ tsq ORDER BY puntaje DESC;
primero me dio 234ms, luego 203ms
luego busque 'FERRO & SIRO' y me lo dio en 47ms
luego busque 'PIRULO & ESTEBAN' y me lo dio en 297ms
probe hacer un
SELECT * FROM padrones.personas where padrones.personas.nombre LIKE
'PIRULO%ESTEBAN%';
y tardo 120750 ms.
UNA BESTIA EL TSEARCH.... habria que seguir probando.
Buenos resultados .. no? ... auque realmente la consulta equivalente debería
ser .... LIKE '%PIRULO%ESTEBAN%';
o estoy mal?
Atentamente,
RAUL DUQUE
Bogotá, Colombia
--
TIP 10: no uses HTML en tu pregunta, seguro que quien responda no podrá leerlo