SQL - Como optimizar subconsultas

 
Vista:
sin imagen de perfil
Val: 13
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Como optimizar subconsultas

Publicado por borja (8 intervenciones) el 26/10/2018 10:33:46
Hola buenos días,
Me gustaría saber si se puede optimizar de alguna manera esta Subconsulta.

1
2
3
4
5
6
7
8
9
10
select 'HU', '201810', 225,count(* ),getdate()
from TH_Hospitalizacion WITH (NOLOCK)
where cod_centro = 'HU' and year(fec_alta)*100+month(fec_alta) = 201810
and xti_excluido ='n' and xti_tipoProceso='H'
AND cod_Episodio IN (SELECT COD_EPISODIO FROM TH_TomaFormulario A WITH (NOLOCK)
    INNER JOIN TH_ValorIndicadorTomaFormulario_2 B WITH (NOLOCK) ON A.cod_TomaFormulario = B.cod_TomaFormulario
    AND B.COD_INDICADOR IN ('5913',
                            '10965',
                            '48128')
    and des_ValorIndicador IN ('0','1','2','3','4','5','6','7','8','9', '10'))


Un saludo y gracias de antemano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Como optimizar subconsultas

Publicado por leonardo_josue (1172 intervenciones) el 26/10/2018 15:35:32
Hola Borja:

No nos dices con qué motor de BD's estás trabajando, pero te comento que la cláusula IN suele tener un pésimo rendimiento. Podrías probar utilizando la cláusula EXISTS o con JOINS para analizar tus tiempos de respuesta.

Además, la optimización de la consulta no termina sólo con el código SQL en si, sino también con un correcto uso de llaves e índices. Algunos DBMS's proporcionan herramientas para la evaluación de las consultas que proporcionan datos de lo que puedes mejorar. Investiga un poco si el motor que estás utilizando cuenta con alguna herramienta de este tipo.

Saludos
Leo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Pancho
Val: 102
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Como optimizar subconsultas

Publicado por Pancho (32 intervenciones) el 28/10/2018 21:40:03
Hola

Aqui entra el uso de indices parciales o crear un indice especifico para la consulta

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar