sql >> Databasteknik >  >> RDS >> Oracle

Viloparametriserad SQL-fråga långsamma och aktiva oracle-sessioner

Jag vet inte om det här är ditt problem, men Oracle tittar på bindningsvariabelvärden när man analyserar en fråga och sparar sedan frågeplanen för framtida körningar så att den inte behöver fortsätta analysera frågan varje gång den körs med en ny uppsättning bindningsvariabler. Men då och då analyseras frågan om. Om några ovanliga bindningsvariabelvärden råkar skickas under en analys så lagras och används en dålig plan. Det är en slags förbannelse av bindningsvariabler. De minskar analysen men kan vända planen runt på atypiska bindningsvariabelvärden när frågor analyseras igen. Tips kan hjälpa. Vi använder SQL-profiler för att låsa in planer för frågor med bindningsvariabler som tenderar att ändra planer. Ibland kan du anpassa när och hur optimeringsstatistiken samlas in så att en bra plan skapas oavsett vilka värden som skickas in i bindningsvariablerna.

Hur som helst, det är något jag ser hela tiden och kanske är ditt problem eller inte.

Bobby




  1. Ändra alla kolumner i en tabell till "inte null" oavsett vad

  2. Jämförelse av databas med hög tillgänglighet - MySQL / MariaDB-replikering vs Oracle Data Guard

  3. './mysql/user.MYD' hittades inte (felkod:2 - ingen sådan fil eller katalog)

  4. Hur konfigurerar jag DbContext för att fungera med Oracle ODP.Net och EF CodeFirst?