Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Vermeidung häufiger Aufrufe derselben Ansicht innerhalb einer Oracle-Prozedur

Eine Ansicht ist eine gespeicherte Abfrage; selbst, es enthält keine Daten. Wenn sein Code komplex ist und Daten aus mehreren Tabellen abruft, wobei unterschiedliche Bedingungen, Aggregationen usw. verwendet werden, kann es einige Zeit dauern, bis auf die Daten zugegriffen wird.

In Ihrer Situation würde vielleicht eine globale (oder private; je nach verwendeter Oracle-Version) temporäre Tabelle (GTT) helfen.

  • Sie erstellen es einmal
  • Fügen Sie am Anfang der Prozedur Daten aus der Ansicht ein
  • der Rest des Verfahrens würde mit diesen vorbereiteten funktionieren Daten
  • Sobald die Sitzung (oder Transaktion; je nachdem, wie Sie die GTT eingerichtet haben) beendet ist, gehen die Daten aus der Tabelle verloren
    • Die Tabelle kann beim nächsten Ausführen der Prozedur wiederverwendet werden