Categories: Unternehmen

Oracle Hints und Views ohne Performance-Probleme nutzen

Einige Systeme erstellen komplexe Views zur Darstellung umfangreicher Subsets ihres Schemas, wobei Entwickler und Endbenutzer Zugang zu diesen Views haben. Dieser Ansatz hat oft eine schlechte Performance zur Folge. Es folgenden einige Vorgänge, die Sie beim Umgang mit komplexen Views vermeiden sollten:

  • Abfragen von Subsets – Entwickler führen häufig Abfragen von Subsets komplexer Views durch, ohne dabei zu bedenken, dass sämtliche Tabellen der Views verknüpft werden.
  • Hinzufügen komplexer WHERE-Klauseln – Abfragen von Views mit komplexen WHERE-Klauseln überschreiben häufig sämtliche für die Views festgelegten Einstellungen, was zu Abweichungen von den optimalen Ausführungsplänen führt.
  • Verwenden von Hints für die Views – Views können nicht wie begrenzte Tabellen verwendet werden, weshalb das Hinzufügen von SQL-Hints zu View-Abfragen häufig zu Abweichungen von den optimalen Ausführungsplänen führt. Denken Sie daran, dass der Optimizer bei jeder Störung eine unnötige Tabellen-Überprüfung durchführt. Während die Hints für bestimmte SQL-Optimierungen sinnvoll sein können, wird von der Verwendung von Views in diesem Zusammenhang dringend abgeraten, da sie in zahlreichen Kontexten aufgerufen werden.

Kurz gesagt stellen die Oracle-Views Zusammenfassungen komplexer Abfragen dar und sind daher mit Vorsicht einzusetzen. Hier noch einmal die wichtigsten Fakten:

  • Views sind nicht auf die Optimierung der SQL-Performance ausgelegt. Wenn Sie SQL zusammenfassen möchten, sollten Sie dafür gespeicherte Prozeduren statt Views verwenden.
  • Views verbergen die Komplexität zu Grunde liegender Abfragen, um unerfahrenen Programmierern und Endbenutzern das Erstellen von Abfragen zu erleichtern.
  • Views können verwendet werden, um Abfragen durch Hints zu verändern, immer vorausgesetzt, dass die Views stets im korrekten Kontext eingesetzt werden.

Kombinieren von Hints und Views

Unter dem Hinweis, dass bei der Verwendung von Hints in Views äußerste Sorgfalt geboten ist, folgen hier zwei diesbezügliche Methoden, die keine Performance-Probleme verursachen:

  • Integrieren von Hints in die View-Definition. Dies erweist sich als nützlich, wenn Views ohne eine WHERE-Klausel aufgerufen werden sollen. Die Performance wird jedoch erheblich beeinträchtigt, wenn die Ergebnistabelle der Views durch das Aufrufen der Views über eine komplexe WHERE-Klausel geändert wird.
  • Hinzufügen von Hints zu Abfragen. Die Gefahr der Verwendung von Hints in Views liegt darin, dass sich der Kontext der Abfragen ändern könnte. In diesem Fall würden vorhandene Hints in der View-Definition ignoriert, wodurch eine Störung des SQL-Optimizers und somit eine unnötige Tabellen-Überprüfung verursacht würde.

Wenn Views mit bestimmten WHERE-Klauseln aufgerufen werden, kann sich ihr Kontext ändern. Gleiches gilt für die Funktionen von in diesen Views enthaltenen SQL-Hints.

Das folgende einfache Beispiel zeigt, wie es zu einer solchen Änderung des Kontexts kommen kann:

select
cust_name,
cust_address
from
cust_view
where
cust_nbr = 123;

Wir haben eine View aufgerufen, die bei ihrer Ausführung eine Verknüpfung von drei Tabellen vornimmt, wobei die WHERE-Klausel in der SQL jedoch angibt, dass der Benutzer nur die Daten einer einzigen Tabelle benötigt. Die eventuell in der View enthalten SQL-Hints werden möglicherweise ignoriert.

Schlussbemerkung
Einzeln betrachtet stellen die in Oracle vorhandenen Views, Materialized Views und Hints für SQL-Abfragen nützliche Tools dar, mit denen Einstellungen in Oracle vorgenommen werden können. Dennoch muss bei der Implementierung von Views sehr sorgfältig vorgegangen werden, um sicherzustellen, dass Entwickler und Endbenutzer diese nicht unsachgemäß verwenden, was zu Performance-Problemen führen kann.

Page: 1 2

ZDNet.de Redaktion

Recent Posts

Latrodectus: Gefährlicher Nachfolger von IcedID

Latrodectus, auch bekannt als BlackWidow, ist auch unter dem Namen LUNAR SPIDER bekannt.

2 Tagen ago

Apple meldet Rekordumsatz im vierten Fiskalquartal

Die Einnahmen klettern auf fast 95 Milliarden Dollar. Allerdings belastet der Steuerstreit mit der EU…

5 Tagen ago

Baseus Bowie 30 Max: Erste Bluetooth-Kopfhörer mit Head-Tracking-Spatial-Audio

Neue Over-Headset-Kopfhörer von Baseus bieten Raumklang-Audio und unterdrücken Störgeräusche um rund 96 Prozent.

6 Tagen ago

Microsoft steigert Umsatz und Gewinn im ersten Fiskalquartal

Das stärkste Wachstum verbucht die Cloud-Sparte. Microsoft verpasst bei der Umsatzprognose für das laufende Quartal…

6 Tagen ago

Bezahlkarten: Infineon verspricht weniger Plastikmüll

Ein Coil-on-Module-Package integriert Chip und Antenne, was den Kartenkörper fast vollständig recycelbar machen soll.

6 Tagen ago

Firefox 132 schließt elf Sicherheitslücken

Mindestens eine Anfälligkeit erlaubt das Einschleusen von Schadcode. Außerdem erweitern die Entwickler den Support für…

6 Tagen ago