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

#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:

Mostrar la cita
#2 Ricardo Passians
03/03/2009 - 18:38 | Informe spam
Mostrar la cita
No lo trae pero hay opciones de Profiler para SQL Express:

http://code.google.com/p/sqlexpress...loads/list


Ricardo Passians
#3 Ricardo Passians
03/03/2009 - 18:51 | Informe spam
Mostrar la cita
No es cierto que sean malas o malísimas de por sí. Su mal uso, como con
todo, o el uso innecesario es lo que es malo.

En SP's, a veces son realmente útiles para reutilizar datos que se han
modificado temporalmente en dichas tablas, sobre todo dentro de un proceso
complejo. También pueden servir para descomponer (y tratar de agilizar) una
consulta que sea extremadamente ineficiente, cuando ya se han agotado otras
opciones de rediseño de la consulta o creación de índices apropiados.

Ricardo Passians
#4 Pedro J. Reguera
03/03/2009 - 19:10 | Informe spam
Muchas gracias a ambos..
Muy util el profiler Ricardo.

Un saludo.
Pedro J.


"Ricardo Passians" escribió en
el mensaje de noticias news:
Mostrar la cita
#5 Pedro J. Reguera
04/03/2009 - 12:27 | Informe spam
Bueno si, la utilidad no se las quita nadie (supongo que si no fueran utiles
no existirían).
Una vez analizado el procedimiento con el fantástico programa que me has
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.

Gracias de nuevo y un saludo.
Pedro J.




"Ricardo Passians" escribió en
el mensaje de noticias news:
Mostrar la cita
Ads by Google
Search Busqueda sugerida