From: | Henry <hensa22(at)yahoo(dot)es> |
---|---|
To: | Postgres <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | mejorar rendimiento de consulta |
Date: | 2007-08-07 05:20:16 |
Message-ID: | 31658.18402.qm@web30811.mail.mud.yahoo.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
que tal a todos.
espero puedan ayudar en un incoveniente que tengo
tengo esta consulta
select *
from tabla1
join tabla2 on tabla1.id = tabla2.id
where
to_char(carta.fecha,'yyyy')::integer=2007 and
to_char(carta.fecha,'mm')::integer=8
Nested Loop (cost=0.00..12836.03 rows=2 width=1118)
(actual time=1278.067..2243.229 rows=3527 loops=1)
-> Seq Scan on tabla1 (cost=0.00..12819.37 rows=2
width=277) (actual time=1277.885..1933.569 rows=3527
loops=1)
Filter: (((to_char((fecha)::timestamp with time
zone, 'yyyy'))::integer = 2007) AND
((to_char((fecha)::timestamp with time zone,
'mm'))::integer = 7) )
-> Index Scan using tabla2_pkey on
tabla2(cost=0.00..8.32 rows=1 width=841) (actual
time=0.069..0.072 rows=1 loops=3527)
Index Cond: ((tabla1.id)::text = (tabla2.id)::text)
"Total runtime: 1998.089 ms"
los valores de statistics para 'fecha' es de 20, pero
creo que eso no importa mucho
el problema es el la funcion to_char(), ya que el
planeador esta que calculando mal la cantidad de
registros a devolver, hay alguna formar de mejorar o
solucionar aquel problema?.
obviamente que si creo los campos año y mes, el
rendimiento mejora , pero crear los campos se volveria
algo engorroso, ya que tengo varias campos de tipo
fecha que tambien utilizaria para unas
consultas similares.
gracias de antemano
Saludos
____________________________________________________________________________________
Sé un Mejor Amante del Cine
¿Quieres saber cómo? ¡Deja que otras personas te ayuden!
http://advision.webevents.yahoo.com/reto/entretenimiento.html
From | Date | Subject | |
---|---|---|---|
Next Message | manuel lamas | 2007-08-07 08:15:25 | Lista de valores |
Previous Message | Henry | 2007-08-07 05:03:54 | Re: como devolver una consulta modificada?¿ |