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.

Preguntas similare

Leer las respuestas

#6 Maxi
04/03/2009 - 15:58 | Informe spam
Si claro, a eso se lo llama planes de ejecucion.

Una simple es:

exec sp_1
exec sp_2

en su Management studio pinta los dos y pone query plan, le dara el costo
que tardo cada uno en la seccion de arriba





Maxi Accotto
Microsoft MVP en SQL Server
Consultor en SQL Total Consulting



"Pedro J. Reguera" escribió en el mensaje de
noticias:#
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.

Respuesta Responder a este mensaje
#7 Ricardo Passians
05/03/2009 - 14:58 | Informe spam
pasado ejecutado sobre una tabla de cien mil registros resulta que el
procedimiento que usa las tablas temporales tarda TRES veces más tiempo en
ejecutarse que el otro, así que aunque el otro sea más complicado de
montar, en pro del rendimiento en ejecución (que no en desarrollo, que
tardo más... ) a partir de ahora dejaré las tablas temporales de lado, al
menos para la paginación de datos para presentarlos.




Ni un extremo ni otro. Tampoco estoy defendiendo que uses tablas temporales
de por sí, sino que las uses bien y cuando te de alguna ventaja real
utilizarlas. Cada caso merece un estudio por separado.
Si en este caso no son necesarias como acabas de demostrar con tus pruebas,
pues no usarlas es la mejor elección.


Saludos
Ricardo Passians
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida