Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Oracle »

Problema de retardo con fecha

Estas en el tema de Problema de retardo con fecha en el foro de Oracle en Foros del Web. Existe alguna manera de optimizar las consultas que contienen fechas?? Tengo un select que tiene varios parametros, pero cuando le hago un where con la ...
  #1 (permalink)  
Antiguo 13/12/2006, 08:30
Avatar de charlytesis  
Fecha de Ingreso: agosto-2003
Ubicación: La Paz - Bolivia
Mensajes: 207
Antigüedad: 20 años, 8 meses
Puntos: 1
Problema de retardo con fecha

Existe alguna manera de optimizar las consultas que contienen fechas??

Tengo un select que tiene varios parametros, pero cuando le hago un where con la fecha me tarde demasiado, cual podria ser el poblema?

Query:

SELECT Qmt_Visit.ID,
Qmt_Visit.WStation,
Qmt_Visit.RegDate Fecha,
SUBSTR(Qmt_Visit.BtnName,1,1) Tipo,
Qmt_Puesto.ID IDPuesto
FROM QMT_Visit,
QMT_Puesto,
QMT_Sala,
QMT_Lugar
WHERE Qmt_Visit.BranchNo = Qmt_Lugar.Codigo
AND Qmt_Visit.Wstation = (case length (Qmt_Puesto.Codigo)
when 10 then SUBSTR(Qmt_Puesto.Codigo, 4,2)
WHEN 9 THEN SUBSTR(Qmt_Puesto.Codigo, 4,1)
end)
AND Qmt_Puesto.IDSala = Qmt_Sala.ID
AND Qmt_Sala.IDLugar = Qmt_Lugar.ID
------------*------------
Hasta aqui todo funciona bien, pero si colo la fecha de abaja tarda un monton
---------------*--------------
AND Qmt_Visit.RegDate = '31/10/2006'

Espero alguien me ayude gracias
__________________

Saludos desde el corazón de América.....BOLIVIA
Da lo mejor de ti, que siempre será recompensado


  #2 (permalink)  
Antiguo 13/12/2006, 11:14
Avatar de diegopedro  
Fecha de Ingreso: agosto-2006
Ubicación: Santiago
Mensajes: 120
Antigüedad: 17 años, 9 meses
Puntos: 0
Re: Problema de retardo con fecha

Primero el campo Qmt_Visit.RegDate es tipo date, si es así prueba lo siguiente

Qmt_Visit.RegDate between to_date('31/10/2006 00:00:00','dd/mm/yyyy hh24:mi:ss') and to_date('31/10/2006 23:59:59','dd/mm/yyyy hh24:mi:ss')

Si persiste la demora fuerza algun indice select /*+ index(Qmt_Visit, indice por fecha)*/

Si no tienes el indice, crealo.
-----------------
Evalua el plan de ejecución y ve si estas haciendo algun FULL table o full index

Espero que te sirva
  #3 (permalink)  
Antiguo 13/12/2006, 11:56
Avatar de Linterns
Colaborador
 
Fecha de Ingreso: diciembre-2001
Mensajes: 2.799
Antigüedad: 22 años, 4 meses
Puntos: 11
Re: Problema de retardo con fecha

Efectivamente en el where debes trasladar el String a fecha aunque basta con el formato Standard

Código:
 	AND	To_date(Qmt_Visit.RegDate,'dd/mm/yyyy')	=  To_date('31/10/2006'	,'dd/mm/yyyy')
__________________
Bien se puede recibir una puñalada sin adulación,
pero rara vez se recibe una adulación sin puñalada
** ***
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:57.