Ver Mensaje Individual
  #2 (permalink)  
Antiguo 15/06/2009, 06:54
Avatar de Andres95
Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 20 años
Puntos: 38
Respuesta: Optimizar consulta , me cuesta casi 10min ejecutarla !!!!!

El problema no es el EXISTS si no la forma en la que lo usas...

una alternativa podria ser esta....

comenta si te sirve, sino fuera asi, comentanos cual es el resultado que esperas obtener tal vez replanteando la consulta se podria obtener un mejor performance...

Código:
DECLARE @FechaInit datetime, @FechaEnd datetime


SET @FechaInit = convert(varchar, dateadd(yy, -4,getdate()) , 112)
SET @FechaEnd = convert (varchar, dateadd(dd,1,getdate()),112)

Select campo1 
from cliente c
inner join  venta v 
on          c.id = v.id
inner join  facturas f 
on          c.id = v.id
and not exists(
            SELECT TOP 1 v.id 
            FROM       venta v 
            INNER JOIN facturas f 
            on          v.id = f.id and v.ven_data >= @FechaInit And v.ven_data < @FechaEnd
            )
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.