sql >> Databáze >  >> RDS >> Oracle

Hibernace parametrizovaného SQL dotazu pomalé a aktivní relace oracle

Nevím, jestli je to váš problém, ale Oracle při analýze dotazu nahlíží na hodnoty proměnných vazeb a pak uloží plán dotazů pro budoucí provedení, takže nemusí analyzovat dotaz pokaždé, když je spuštěn s novým sada vazebných proměnných. Ale jednou za čas je dotaz znovu analyzován. Pokud během analýzy dojde k předání neobvyklých hodnot proměnných vazby, uloží se a použije se špatný plán. Je to jakési prokletí vazebných proměnných. Omezují analýzu, ale mohou otočit plán na atypické hodnoty proměnných vazeb, když jsou dotazy znovu analyzovány. Rady mohou pomoci. Profily SQL používáme k uzamčení plánů dotazů s proměnnými vazby, které mají tendenci plány měnit. Někdy můžete přizpůsobit, kdy a jak se shromažďují statistiky optimalizátoru, aby byl vytvořen dobrý plán bez ohledu na to, jaké hodnoty jsou předány do vazebných proměnných.

Každopádně je to něco, co vidím pořád a může nebo nemusí být váš problém.

Bobby




  1. Co přesně mi PostgreSQL vysvětluje?

  2. Laravel 4 neumí spouštět celé RAW dotazy

  3. Typy polí a použití v databázích Accessu 2019

  4. Jak zálohovat uložené procedury v MySQL