From: | Manuel Alejandro Estevez Fernandez <stvzito(at)gmail(dot)com> |
---|---|
To: | Jaime Casanova <jcasanov(at)systemguards(dot)com(dot)ec> |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Agilizar consultas sobre fechas |
Date: | 2009-10-02 14:28:30 |
Message-ID: | 4AC60E0E.1090003@gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
El 01/10/09 14:46, Jaime Casanova escribió:
> 2009/10/1 Manuel Alejandro Estevez Fernandez<stvzito(at)gmail(dot)com>:
>
>> "Nested Loop (cost=0.00..9.08 rows=1 width=23)"
>>
> segun el EXPLAIN esta consulta retorna un registro casi desde el
> primer filtro y el planeador la considera de costo bajisimo...
> esta misma consulta que pasaste, en esa fecha especifica:
> - en realidad regresa solo una fila?
> - demora 30 a 40 minutos como dijiste antes?
>
> si la respuesta a la primero pregunta es NO entonces probablemente
> necesites ejecutar ANALYZE a las tablas que intervienen... a todo
> esto, que version de postgres estas usando?
>
> si en realidad regresa una sola fila y se demora tanto pasa el EXPLAIN ANALYZE
>
>
La versión de postgresql del servidor es la 8.1.11.el5_1.1.x86_64.
Espero haberlo hecho bien esta vez. Corrí la consulta sobre una base de
pruebas que tengo y tiene muchos menos registros,por que en estos
momentos no tengo acceso a la otra ,el resultado del analyze fue el
siguiente:
"Nested Loop (cost=4.73..14.14 rows=1 width=17) (actual
time=88.309..115.750 rows=50 loops=1)"
" -> Hash Join (cost=4.73..11.20 rows=1 width=25) (actual
time=59.478..60.942 rows=50 loops=1)"
" Hash Cond: ((vd.id_venta = v.id_venta) AND (vd.numero_caja =
v.numero_caja) AND (vd.id_corte_caja = v.id_corte_caja))"
" -> Seq Scan on ventas_detalle vd (cost=0.00..4.94 rows=135
width=45) (actual time=57.870..58.568 rows=135 loops=1)"
" Filter: (id_sucursal = 11)"
" -> Hash (cost=4.71..4.71 rows=1 width=16) (actual
time=1.307..1.307 rows=31 loops=1)"
" -> Seq Scan on ventas v (cost=0.00..4.71 rows=1
width=16) (actual time=0.675..1.163 rows=31 loops=1)"
" Filter: ((id_sucursal = 11) AND ((fecha)::date =
'2009-08-13'::date))"
" -> Index Scan using articulos_pkey on articulos a (cost=0.00..2.93
rows=1 width=4) (actual time=1.078..1.083 rows=1 loops=50)"
" Index Cond: (a.id_articulo = vd.id_articulo)"
" Filter: (a.id_servicio IS NULL)"
"Total runtime: 117.070 ms"
--
Atentamente.
Manuel Alejandro Estévez Fernández
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2009-10-02 14:45:23 | Re: Agilizar consultas sobre fechas |
Previous Message | Iván Caballero Cano | 2009-10-02 14:11:32 | "OFF TOPIC" Recomendación de una buena lista para PHP muy transitada |