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

Optimizar query en subconsulta

Estas en el tema de Optimizar query en subconsulta en el foro de Bases de Datos General en Foros del Web. Hola, tengo un problema con mi query, le agregué una columna adicional a este query, en esta columna hago este subselect: select cast(max(fch_cmbsituacion) AS DATE) ...
  #1 (permalink)  
Antiguo 15/09/2014, 08:35
 
Fecha de Ingreso: enero-2013
Mensajes: 57
Antigüedad: 11 años, 3 meses
Puntos: 1
Optimizar query en subconsulta

Hola,

tengo un problema con mi query, le agregué una columna adicional a este query, en esta columna hago este subselect:

select
cast(max(fch_cmbsituacion) AS DATE) fch_cmbsituacion
from
p_solicitudservicio ps
where
ps.tip_solicitud = 11 and
ps.cod_motivo = 1 and
ps.fch_cmbsituacion is not null and
ps.cod_sus = p.cod_sus

el cual eleva exponencialmente el procesamiento de mi query, de demorarse tan solo de menos de 1min, a mas de 10min (no deje seguir corriendo el query).

por favor expliquenme el porque de esto, y como podria solucionarlo, gracias!
  #2 (permalink)  
Antiguo 15/09/2014, 08:49
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Optimizar query en subconsulta

Por empezar, toda conversión, e especial masiva, consume tiempo y baja la performance. Eso es inevitable.
Además, no queda claro por qué haces u MAX() y le aplicas CAST(). Si es una columna de tipo fecha, no se necesita. Y si es un VARCHAR no funcionará el MAX() a menos que esté bien formateado.
Finalmente, no sabemos que DBMS estas usando, aunque parece MySQL.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: query, subconsulta
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 21:08.