Pregunta

Tengo un problema con este procedimiento almacenado que trabaja el 99% de las veces a través de nuestra aplicación, sino que el tiempo de espera cuando se llama desde una parte específica de la aplicación.

La tabla sólo tiene 3 columnas y contiene alrededor de 300 registros. El procedimiento almacenado sólo traerá de vuelta un registro y se parece a esto

"SELECT * FROM tabla WHERE Columna = @parameter"

Cuando el SP se ejecuta en el estudio de gestión que se necesita: 00 segundos.

El procedimiento almacenado se utiliza mucho en nuestra aplicación, pero sólo parece que el tiempo de espera en una parte particular de nuestro programa. No puedo pensar en ninguna razón para que un sp tan simple sería el tiempo de espera. ¿Alguna idea?

Esta es una aplicación de escritorio vb.net y el uso de SQL Server 2005.

¿Fue útil?

Solución

Tienes un código que ya se mantiene un bloqueo sobre la mesa lo que no se puede leer.

Otros consejos

try

SELECT * FROM Table WITH (NOLOCK) WHERE Column = @parameter

tenido un problema muy similar, tuvimos varios procedimientos almacenados que mantendrían el tiempo de espera en la aplicación (~ 30 seg), pero funcionan bien en SSMS.

La solución a corto plazo que se utilizó fue volver a ejecutar los procedimientos almacenados que fijaron el problema temporalmente. Si esto también corrige el problema temporalmente para usted, entonces usted debe investigar descubrimiento de parámetros problemas.

Para más informaciones consulte http: //dannykendrick.blogspot. co.nz/2012/08/sql-parameter-sniffing.html

que necesita para obtener métricas de rendimiento. Utilice el Analizador de SQL para confirmar que el SP es lento en ese momento o alguna otra cosa. Si es el SQL que es lento en ese momento - en cuenta cosas como cerraduras que se pueden forzar a su consulta que esperar. Nos permite conocer y que podría ser capaz de dar información más específica en ese punto.

Si no la SP, pero dicen que el código de VB, un perfil decente como Las hormigas de Redgate o JetBrains' dotTrace puede ayudar.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top