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

Oracle-Ansichten und Netzwerkverkehr

Das Zitat bezieht sich auf die E-Business Suite und insbesondere darauf, wie EBS-Anwendungen (d. h. Forms) auf performante Weise erstellt werden können. Der relevante Kontext ist dieser:

Nehmen Sie dieses Szenario:Wir haben eine Tabelle mit vielen Spalten, darunter drei, die Fremdschlüssel für Nachschlagetabellen sind. Wir möchten Daten aus dieser Tabelle in einem Formular anzeigen. Um benutzerfreundlich zu sein, muss unser Formular die Bedeutungen aus den Nachschlagetabellen zeigen, nicht die Codes aus der Haupttabelle. Es ist effizienter, eine einzelne Abfrage auszuführen, die mit den Referenztabellen verknüpft wird, als vier Abfragen auszugeben. Wegen Netzwerkverkehr und anderen Überlegungen.

Daher sollten wir den Datenblock des Formulars auf einer Ansicht erstellen, die alle vier Tabellen verbindet, anstatt ihn nur auf der Haupttabelle zu erstellen und Post-Query-Trigger zu verwenden, um drei separate Abfragen auszugeben, die die Beschreibungen der Codes abrufen. Dies ist besonders bei mehrzeiligen Blöcken relevant:Wir möchten auf jeden Fall vermeiden, mehrere Abfragen für jeden zurückgegebenen Datensatz auszugeben.

Obwohl der Kontext für das Zitat Oracle Forms ist, ist der Punkt für die meisten Datenabrufanwendungen relevant. Obwohl ich vermute, dass heutzutage die Verwendung eines Ref-Cursors zum Übergeben einer Ergebnismenge eine beliebtere Lösung ist als die Verwendung von Ansichten.

tl;dr

Es ist eine Aussage über das Anwendungsdesign, nicht über die Datenbankoptimierung