Ver Mensaje Individual
  #4 (permalink)  
Antiguo 19/01/2012, 13:02
Avatar de Andres95
Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 11 meses
Puntos: 38
Respuesta: obtener ID mayor y otras columnas en una tabla historica

Sin animo de hacer grilla..es solo me gusta hacer comparaciones y me parecio buena idea tu propuesta asi que decidi hacer unas pruebitas, y bueno aqui se los comparto..

--

Me parecio excelente cuando tome ambas consultas y compare los planes estimados de execucion...

Me aparecio una mejora de 20 % vs 80% del EXISTS e IN respectivamente..

Pero ya viendolo bien.. la del EXISTS es una consulta diferente y por ende retorna resultados diferentes ...

Esta seria la consulta equivalente utilizando el EXISTS..

Código:
    SELECT *
    FROM    MiTabla a
    WHERE EXISTS (
                SELECT MAX(ID)
                FROM    MiTabla b
                GROUP BY FOLIO
                HAVING MAX(ID) = a.id
    )
Y asi ambos querys me generaron exactamente el mismo plan estimado de ejecucion..con el 50 - 50 % de tiempo para ambos casos..


En la practica, a mi me ha resultado indistinto tomar uno o el otro..

En fin..solo un comentario..





Saludos!
__________________
La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications.