sql >> Database teknologi >  >> RDS >> Sqlserver

Lagret procedure er langsom, når den kaldes fra nettet, hurtig fra Management Studio

Jeg har tidligere haft et lignende problem, så jeg glæder mig til at se en løsning på dette spørgsmål. Aaron Bertrands kommentar til OP førte til Forespørgslen timeout, når den udføres fra internettet, men superhurtig, når den udføres fra SSMS , og selvom spørgsmålet ikke er en dublet, kan svaret meget vel gælde for din situation.

I bund og grund lyder det som om SQL Server kan have en korrupt cachelagret eksekveringsplan. Du rammer den dårlige plan med din webserver, men SSMS lander på en anden plan, da der er en anden indstilling på ARITHABORT-flaget (som ellers ikke ville have nogen indflydelse på din specifikke forespørgsel/lagrede proc).

Se ADO.NET kalder T-SQL Stored Procedure forårsager en SqlTimeoutException for et andet eksempel, med en mere fuldstændig forklaring og opløsning.



  1. Hvordan opdaterer man en xml-attributværdi i en xml-variabel ved hjælp af t-sql?

  2. SQL-sætning ignorerer parameteren where

  3. Vælg forespørgsel i to tabeller i MySQL

  4. FÅ DIAGNOSTIK med COPY-sætning i Pl/pgsql-funktionen