Diferencia rendimiento consulta y procedimiento almacenado

27/10/2009 - 17:20 por Cotzila | Informe spam
Hola a todos, llevo unos dias viendo una consulta que ejecutandola
directamente desde .net (incorporando la select en el codigo fuente)
es tres veces mas rapido que desde un procedimiento.

A alguien le ha pasado algo parecido??? la consulta es muy compleja
el origen es una funciona que devuelve una tabla y esta funcion hace
una consulta sobre varias tablas y consultas almacenadas.

Fuera del procedimiento tarda 9 seg. dentro del procedimiento 54 seg.

Alguna idea?

gracias
 

Leer las respuestas

#1 Carlos Sacristan
27/10/2009 - 17:26 | Informe spam
Probablemente te esté ocurriendo un problema llamado "parameter sniffing".
Básicamente consiste en que los valores de los parámetros con los que se
compiló el procedimiento almacenado no son los más adecuados para los
valores que le llegan. Sin embargo, en
http://groups.google.com/group/micr...fe27?pli=1
puedes leer una respuesta mucho más completa y trabajada de Alejandro Mesa
sobre este tema.

"Caminar sobre el agua y desarrollar software a partir de unas
especificaciones es fácil, si ambas están congeladas."
Edward V. Berard, ingeniero informático


"Cotzila" wrote in message
news:
Hola a todos, llevo unos dias viendo una consulta que ejecutandola
directamente desde .net (incorporando la select en el codigo fuente)
es tres veces mas rapido que desde un procedimiento.

A alguien le ha pasado algo parecido??? la consulta es muy compleja
el origen es una funciona que devuelve una tabla y esta funcion hace
una consulta sobre varias tablas y consultas almacenadas.

Fuera del procedimiento tarda 9 seg. dentro del procedimiento 54 seg.

Alguna idea?

gracias

Preguntas similares