Rendimiento de Stored Procedures

22/07/2004 - 18:00 por Oriol | Informe spam
Hola a todos,



Mi pregunta es sobre Stored Procedures. Tengo un Stored con casi 60 queries
(consultas) para generar un Crystal Report. Las consultas por separado son
muy rapidas, alrededor de 1 segundo cada una, pero el problema es que el
Stored tarda del orden de 1 minuto en ejecutarse.

Mi pregunta es la siguiente:

Si reparto los queries en diferentes Stored Procedures, estos se ejecutarian
de forma concurrente reduciendo el tiempo de respuesta? Es decir, si en vez
de un Stored con 60 queries, hago 3 Storeds con 20 cada uno, segira teniendo
un tiempo de respuesta de 1 minuto, o me bajará el tiempo? (Supongo que no a
un tercio, pero aunque sea la mitad me valdria). Por cierto, los queries son
todos independientes entre si.



Gracias y saludos.



Oriol.

Preguntas similare

Leer las respuestas

#1 Jose Manuel Davila
23/07/2004 - 17:09 | Informe spam
"Oriol" <intranet[arroba]rvsa-itv.com> escribió en el mensaje
news:
Hola a todos,



Mi pregunta es sobre Stored Procedures. Tengo un Stored con casi 60


queries
(consultas) para generar un Crystal Report. Las consultas por separado son
muy rapidas, alrededor de 1 segundo cada una, pero el problema es que el
Stored tarda del orden de 1 minuto en ejecutarse.

Mi pregunta es la siguiente:

Si reparto los queries en diferentes Stored Procedures, estos se


ejecutarian
de forma concurrente reduciendo el tiempo de respuesta? Es decir, si en


vez
de un Stored con 60 queries, hago 3 Storeds con 20 cada uno, segira


teniendo
un tiempo de respuesta de 1 minuto, o me bajará el tiempo? (Supongo que no


a
un tercio, pero aunque sea la mitad me valdria). Por cierto, los queries


son
todos independientes entre si.



Gracias y saludos.



Oriol.


Respuesta Responder a este mensaje
#2 Jose Manuel Davila
23/07/2004 - 17:11 | Informe spam
que tal Oriol al parecer no soy el unico que tiene problemas con las SP mira
yo tengo SP's con 5 querys y me tarda hasta 2 minutos y hay veces que me
marca herror supongo por que se termina el tiempo de espera, como ves pero
bueno estoy en busca de ver que esta pasando
ojala pronto lo resolvamos por que al parecer nadie sabe de esto

saludos



"Oriol" <intranet[arroba]rvsa-itv.com> escribió en el mensaje
news:
Hola a todos,



Mi pregunta es sobre Stored Procedures. Tengo un Stored con casi 60


queries
(consultas) para generar un Crystal Report. Las consultas por separado son
muy rapidas, alrededor de 1 segundo cada una, pero el problema es que el
Stored tarda del orden de 1 minuto en ejecutarse.

Mi pregunta es la siguiente:

Si reparto los queries en diferentes Stored Procedures, estos se


ejecutarian
de forma concurrente reduciendo el tiempo de respuesta? Es decir, si en


vez
de un Stored con 60 queries, hago 3 Storeds con 20 cada uno, segira


teniendo
un tiempo de respuesta de 1 minuto, o me bajará el tiempo? (Supongo que no


a
un tercio, pero aunque sea la mitad me valdria). Por cierto, los queries


son
todos independientes entre si.



Gracias y saludos.



Oriol.


Respuesta Responder a este mensaje
#3 Lázaro
27/07/2004 - 13:04 | Informe spam
El problema lo tienes cuando muchos usuarios usan el report o con un único
usuario ?

Con 60 querys en un SP, el plan de ejecución será grande y la memoria del
SQL Server destinada para ello puede estar llena, de manera que tu plan
tiene que esperar a que haya memoria suficiente para ser compilado.

Si es con un único usuario pidiéndolo, mira a ver si no te está generando
bloqueos de DDL, a veces cuando se compila un procedimiento almacenado,
mientras está comprobando o analizando el plan de ejecución coloca
determinados bloqueos sobre los objetos que va a usar y eso si el resto de
usuarios están usando esos objetos te puede ocasionar contención de tiempos.
Puedes conseguir menos recompilaciones de este tipo si delante de cada
nombre de tabla, pones el dbo., si es que tus tablas son todas del dbo.

Mira a ver con una traza, que tiempos te está dando para cada uno de los
querys, a ver si es que alguno de ellos tiene problemas cuando se lanza de
golpe.

Salu2

"Oriol" <intranet[arroba]rvsa-itv.com> wrote in message
news:
Hola a todos,



Mi pregunta es sobre Stored Procedures. Tengo un Stored con casi 60


queries
(consultas) para generar un Crystal Report. Las consultas por separado son
muy rapidas, alrededor de 1 segundo cada una, pero el problema es que el
Stored tarda del orden de 1 minuto en ejecutarse.

Mi pregunta es la siguiente:

Si reparto los queries en diferentes Stored Procedures, estos se


ejecutarian
de forma concurrente reduciendo el tiempo de respuesta? Es decir, si en


vez
de un Stored con 60 queries, hago 3 Storeds con 20 cada uno, segira


teniendo
un tiempo de respuesta de 1 minuto, o me bajará el tiempo? (Supongo que no


a
un tercio, pero aunque sea la mitad me valdria). Por cierto, los queries


son
todos independientes entre si.



Gracias y saludos.



Oriol.


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida