Hola grupo:
¿ Alguien sabe por qué es posible que el plan de ejecución utilizado por SQL
Server sea diferente si una consulta se lanza desde una aplicación cliente
con ODBC o desde el propio Analizador de Consultas ?
Con el Profiler observo que la consulta que le llega a Sql en ambos casos es
idéntica, pero el plan de ejecución empleado es completamente diferente.
Ésto me está provocando que desde la aplicación cliente tarde la query más
de 1 minuto, y desde el analizador de consulta no llegue a 5 segundos.
La consulta es bastante compleja y utiliza bastantes subconsultas para
obtener valores de selección..
Simplificando muchísimo, pero para que sirva de ejemplo, sería algo así:
select articulo,descripcion,
isnull(select sum(stock-ventas) from Stocks where articulo
= Articulos.articulo,0) as disponible
from Articulos
where Articulos between 'A01' and 'Z99'
Saludos.
Leer las respuestas