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

Acelerar consulta

Estas en el tema de Acelerar consulta en el foro de SQL Server en Foros del Web. Hola estoy usando sql server 2008 R2 y estoy viendo que tengo una consulta que me esta poniendo lenta toda la base , ahi alguna ...
  #1 (permalink)  
Antiguo 23/05/2011, 12:02
Avatar de hernansam  
Fecha de Ingreso: septiembre-2007
Ubicación: Funes , Argentina
Mensajes: 204
Antigüedad: 16 años, 7 meses
Puntos: 0
Acelerar consulta

Hola estoy usando sql server 2008 R2 y estoy viendo que tengo una consulta que me esta poniendo lenta toda la base , ahi alguna forma de acelerarla?

SELECT MAX(R.Realizada) AS Realizada,MAX(P.Apellido) AS Pacientea,MAX(OS.Nombre) AS Nombre,MAX(R.Numero)AS Numero,MAX(R.Ficha) AS Ficha,MAX(R.Periodo) AS Periodo,MAX(R.Prestacion) AS Prestacion,MAX(R.Cantidad) AS Cantidad,MAX(R.ImporteOS) AS ImporteOs,MAX(R.ACargo) AS ACargo,MAX(R.Liquida_OS) AS Liquida_Os,MAX(PR.Apellido) AS Profesional,MAX(NB.Descrip) AS Prestacion_Desc, MAX(ERX_T.Detalle) AS Tipo, MAX(ERX.Numero_PorTipo) AS Nro_Prot FROM (((EstudiosRX_Realizado AS ERX_R WITH (NOLOCK) RIGHT JOIN ((((Planilla_Prof_Detalle AS PPD LEFT JOIN ((((Realizado AS R LEFT JOIN Paciente AS P ON R.Paciente=P.numero) LEFT JOIN Nomencla_Base AS NB ON R.Prestacion=NB.Codigo) LEFT JOIN Liquida_OS AS LOS ON R.Liquida_OS=LOS.Numero) LEFT JOIN OSocial AS OS ON R.OSocial=OS.Numero) ON PPD.IdRealiza=R.Numero) LEFT JOIN PRofesional AS PR ON R.Profesional=PR.Numero) LEFT JOIN TipoNomenclador AS TN ON NB.IdTipoNomenclador=TN.IdTipoNomenclador) LEFT JOIN Ventas AS V ON LOS.IdVenta=V.IdVenta) ON ERX_R.IdRealizado=R.Numero) LEFT JOIN EstudiosRX AS ERX ON ERX_R.IdEstudioRX=ERX.idestudiorx) LEFT JOIN EstudiosRX_Tipo AS ERX_T ON ERX.IDEstudiosRX_Tipo=ERX_T.IdEstudiosRX_Tipo) WHERE R.Realizada BETWEEN '20101001' AND '20101031' and R.Profesional=15399 GROUP BY R.Numero ORDER BY 1,2 ASC
  #2 (permalink)  
Antiguo 23/05/2011, 15:31
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: Acelerar consulta

Hola hernansam:

No entiendo por qué tienes que poner MAX en cada uno de tus campos... sobre todo por el hecho de que esta función está pensada para campos numéricos, pero tu haces un MAX(Nombre), MAX(Apellido) etc...

¿por qué haces esto?

Igual y en lugar de tu consulta danos una pequeña explicación de tu modelo de BD y si es posible pon algunos datos de ejemplo, es posible que para optimizar la consulta tengas que cambiar completamente tu consulta. Revisa que todas las tablas tengan sus respectivos índices, llaves y llaves foráneas.

Saludos
Leo

Etiquetas: acelerar
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 14:17.