Categories: Workspace

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

Lags beim Online-Gaming? DSL-Vergleich und andere Tipps schaffen Abhilfe

Beim Online-Gaming kommt es nicht nur auf das eigene Können an. Auch die technischen Voraussetzungen…

2 Tagen ago

GenKI-Fortbildung immer noch Mangelware

Fast jedes zweite Unternehmen bietet keinerlei Schulungen an. In den übrigen Betrieben profitieren oft nur…

2 Tagen ago

Netzwerk-Portfolio für das KI-Zeitalter

Huawei stellt auf der Connect Europe 2024 in Paris mit Xinghe Intelligent Network eine erweiterte…

2 Tagen ago

Internet-Tempo in Deutschland: Viel Luft nach oben

Höchste Zeit für eine schnelle Kupfer-Glas-Migration. Bis 2030 soll in Deutschland Glasfaser flächendeckend ausgerollt sein.

2 Tagen ago

Erste Entwickler-Preview von Android 16 verfügbar

Schon im April 2025 soll Android 16 den Status Plattformstabilität erreichen. Entwicklern gibt Google danach…

2 Tagen ago

Kaspersky warnt vor Cyberangriff auf PyPI-Lieferkette

Die Hintermänner setzen KI-Chatbot-Tools als Köder ein. Opfer fangen sich den Infostealer JarkaStealer ein.

2 Tagen ago