sql >> Databasteknik >  >> RDS >> Sqlserver

Konstigt problem med genomförandeplanen för SQL Server-procedur

Det låter som om du upplever en felaktigt cachad frågeplan på grund av parametersniffning.

Kan du lägga upp den lagrade proceduren?

I SQL Server 2005 kan du använda OPTIMERA FÖR frågetips för föredragna värden på parametrar för att åtgärda några av problemen i samband med parametersniffning:

Även om SQL Server 2005 inte stöder OPTIMERA FÖR OKÄNT (introducerat i SQL Server 2008) vilket kommer att eliminera parametersniffning för en given parameter:

OPTION (OPTIMIZE FOR (@myParam UNKNOWN))

Du kan uppnå samma effekt i SQL Server 2005 genom att kopiera parametern till en lokal variabel och sedan använda den lokala variabeln i frågan.



  1. PostgreSQL 10 på Linux - LC_COLLATE locale en_US.utf-8 ogiltig

  2. Lagra resultatet av minusfrågan med flera kolumner i en variabel i Oracle PL/SQL

  3. Oracle:Kan jag se programmatiskt om en procedur innehåller en commit?

  4. Hur fångar man felposter med JDBCTemplate batchUpdate i postgreSql?