Manuel Alejandro Estevez Fernandez escribió:

> 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"

Eso retorna en 117 milisegundos, lo cual parece razonable (si bien un
poco lento, pero no parece haber nada terrible aquí).  Los resultados en
la base de verdad deberían ser distintos, y es ahí donde es interesante
hacer análisis.

Tener una base de datos de prueba que no tiene más o menos la misma
cantidad de datos que la base de datos grande (o al menos una cantidad
importante de datos) no es muy buena idea, porque planes de ejecución
son muy distintos y no puedes sacar conclusiones respecto de qué tan
buenos serán los planes cuando pongas la consulta en producción.

-- 
Alvaro Herrera                               http://planet.postgresql.org/
"La principal característica humana es la tontería"
(Augusto Monterroso)
--
TIP 9: visita nuestro canal de IRC #postgresql-es en irc.freenode.net

Responder a