Ver Mensaje Individual
  #3 (permalink)  
Antiguo 14/05/2010, 22:35
Avatar de Beakdan
Beakdan
 
Fecha de Ingreso: diciembre-2001
Ubicación: Monterrey, Nuevo León
Mensajes: 433
Antigüedad: 22 años, 3 meses
Puntos: 7
Respuesta: Acelerar ejecución procedimiento almacenado

Hola,
creo que estás desperdiciando tu tiempo al enfocarte en esa parte. Evidentemente, la declaración y asignación de variables tiene un costo de cpu, y mientras menos variables declaradas en tu procedimiento tengas, será mejor, pero debes tener cientos de variables antes de que la declaración / asignación de las mismas tenga que preocuparte.
Trabajo como consultor de SQL Server, y muchas veces he tenido que solucionar problemas de performance. Lo que te puedo recomendar es lo siguiente:
-Obtén el plan de ejecución de las sentencias en el procedimiento (usa el profiler) y enfócate en aquellas que tengan un mayor costo relativo.
-Revisa si tienes cursores o ciclos while y busca reemplazarlos con código "set based".
-Si tienes tablas temporales en el procedimiento, analiza si puedes reemplazarlas con "derived tables" o "common table expressions". Algunos procedimientos tienden a recompilarse con frecuencia debido al uso excesivo de tablas temporales.
-Por supuesto, analiza si tienes índices adecuados en las tablas usadas por el procedimiento, y asegúrate de que las expresiones que usas en los predicados sean "sargables".
-Si es posible, divide el procedimiento en múltiples procedimientos más pequeños.

Hay muchas otras cosas que se pueden hacer para acelerar el tiempo de respuesta, pero espero que con esto te puedes trazar un plan de acción.

Saludos.