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

Mærkeligt problem med SQL Server-procedureudførelsesplan

Det lyder som om du oplever en forkert cachelagret forespørgselsplan på grund af parametersniffing.

Kan du sende den lagrede procedure?

I SQL Server 2005 kan du bruge OPTIMER TIL forespørgselstip til foretrukne værdier af parametre for at afhjælpe nogle af de problemer, der er forbundet med parametersniffing:

Selvom SQL Server 2005 ikke understøtter OPTIMIZE FOR UKENDT (introduceret i SQL Server 2008), hvilket vil eliminere parametersniffing for en given parameter:

OPTION (OPTIMIZE FOR (@myParam UNKNOWN))

Du kan opnå den samme effekt i SQL Server 2005 ved at kopiere parameteren til en lokal variabel og derefter bruge den lokale variabel i forespørgslen.



  1. GROUP_CONCAT kommaseparator - MySQL

  2. Hvordan gemmer man dato-tid i UTC i en database ved hjælp af EclipseLink og Joda-Time?

  3. Hvorfor får kørsel af denne forespørgsel med EXECUTE IMMEDIATE den til at mislykkes?

  4. SQL Server - Sammenlægning af store tabeller uden at låse dataene