Como evaluar procedimientos almacenados

03/03/2009 - 16:10 por Pedro J. Reguera | Informe spam
Hola:

Tengo hecho dos procedimientos almacenados cuya función es la misma (en
definitiva devolver datos en páginas de datos) a una página asp.net, en uno
uso tablas temporales de memoria (disculpad si no se llaman así, uso DECLARE
@tmp TABLE...) en el otro no las uso, ya se que las tablas temporales son
malas malísimas, pero por otro lado en el otro procedimiento me veo obligado
a hacer más consultas y a usar la instrución OVER, quisiera saber si hay
algún método en SQL Server 2008 Express Edition para saber el "coste" de
máquina al ejecutar una consulta u otra para medir de alguna forma cual es
la más eficiente.

Gracias y un saludo.
Pedro J.
 

Leer las respuestas

#1 Carlos Sacristan
03/03/2009 - 16:38 | Informe spam
Hay varios métodos: puedes ver el coste en cuanto operaciones de IO
ejecutando SET STATISTICS IO ON, el tiempo que tarda cada sentencia mediante
SET STATISTICS TIME ON, pero lo que realmente te va a decir cómo se ejecuta
cada sentencia es mirando su plan de ejecución (CTRL+M)

No recuerdo ahora si SQL Express trae como herramienta cliente SQL Profiler,
pero ésta también te proporciona valiosa información acerca del coste de las
peticiones.


Un saludo
-
www.navento.com
Servicios de Localización GPS


"Pedro J. Reguera" wrote:

Hola:

Tengo hecho dos procedimientos almacenados cuya función es la misma (en
definitiva devolver datos en páginas de datos) a una página asp.net, en uno
uso tablas temporales de memoria (disculpad si no se llaman así, uso DECLARE
@tmp TABLE...) en el otro no las uso, ya se que las tablas temporales son
malas malísimas, pero por otro lado en el otro procedimiento me veo obligado
a hacer más consultas y a usar la instrución OVER, quisiera saber si hay
algún método en SQL Server 2008 Express Edition para saber el "coste" de
máquina al ejecutar una consulta u otra para medir de alguna forma cual es
la más eficiente.

Gracias y un saludo.
Pedro J.


Preguntas similares