enviosdfa=# EXPLAIN ANALYZE SELECT * FROM envios WHERE apellidos LIKE 'BODEGAS MURUA%' ORDER BY apellidos;
                                                     QUERY PLAN                                    
---------------------------------------------------------------------------------------------------------------------
 Sort  (cost=144384.87..144384.88 rows=1 width=650) (actual time=34724.021..34724.040 rows=36 loops=1)
   Sort Key: apellidos
   ->  Seq Scan on envios  (cost=0.00..144384.86 rows=1 width=650) (actual time=1691.879..34723.437 rows=36 loops=1)
         Filter: (apellidos ~~ 'BODEGAS MURUA%'::text)
 Total runtime: 34724.121 ms
(5 filas)

Un tiempo de consulta exagerado

¿Puede ser porque mi versión de postgres es la 7.4.7?

¿Acepta esta versión índices varchar_pattern_ops?


-------- Mensaje original --------
Asunto: Re: [pgsql-es-ayuda] Consulta, a priori, sencilla
Fecha: Mon, 29 Dec 2008 14:05:22 -0200
De: Guido Barosio <gbarosio@gmail.com>
Para: I.N.T. - Programación <dpto.programacion@grupo-int.com>
CC: pgsql-es-ayuda@postgresql.org
Referencias: <4958E9D3.4000903@grupo-int.com>


el explain de la consulta que arroja?

On Mon, Dec 29, 2008 at 1:16 PM, "I.N.T. - Programación"
<dpto.programacion@grupo-int.com> wrote:
> Buenas,
>
> Tengo una BBDD con una tabla llamada 'envios' de 1.677.229 registros
>
> La consulta es:
>
> SELECT * FROM envios WHERE apellidos LIKE 'LOQUESEA%'
>
> y está creado el índice:
>
> CREATE INDEX envios_idx01 ON envios USING btree(apellidos);
>
> La consulta tarda casi 50seg. en ejecutarse y es un tiempo inadmisible. Está
> claro que no utiliza el índice ¿porqué?
>
> He realizado VACUUM FULL ANALYZE varias veces, regenerado el índice y nada
>
> ¿Alguna sugerencia?
>
> Gracias de antemano --
> TIP 4: No hagas 'kill -9' a postmaster
>
--
TIP 4: No hagas 'kill -9' a postmaster