Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Hibernacja sparametryzowanych zapytań sql powolne i aktywne sesje oracle

Nie wiem, czy to jest twój problem, ale Oracle zagląda do wartości zmiennych wiążących podczas analizowania zapytania, a następnie zapisuje plan zapytania do przyszłych wykonań, aby nie musieć analizować zapytania za każdym razem, gdy jest uruchamiane z nowym zestaw zmiennych wiązania. Ale co jakiś czas zapytanie jest ponownie analizowane. Jeśli podczas parsowania zostaną przekazane jakieś nietypowe wartości zmiennych wiązania, wówczas zły plan jest przechowywany i używany. Jest to rodzaj przekleństwa zmiennych wiążących. Zmniejszają analizowanie, ale mogą odwrócić plan na nietypowych wartościach zmiennych wiązania, gdy zapytania są ponownie analizowane. Pomocne mogą być wskazówki. Używamy profili SQL do blokowania planów zapytań za pomocą zmiennych wiążących, które mają tendencję do zmiany planów. Czasami można dostosować czas i sposób zbierania statystyk optymalizatora, aby utworzyć dobry plan niezależnie od tego, jakie wartości są przekazywane do zmiennych wiązania.

W każdym razie jest to coś, co widzę cały czas i może, ale nie musi, być twoim problemem.

Bobby




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. jak pokazać tylko czas w wyroczni?

  2. Oracle Z KLAUZULĄ nie działa?

  3. wypełnij kolumny na podstawie 2 kolumn

  4. Źle w instrukcji select w ORACLE

  5. Oracle Połącz kilka kolumn w jedną