Categories: Unternehmen

Oracle Hints und Views ohne Performance-Probleme nutzen

Wir wollen uns hier einmal anschauen, wozu die Hints, Views und Materialized Views in der Lage sind. Anschließend werden wir genauer darauf eingehen, in welchen Fällen und auf welche Weise diese zu verwenden sind.

Hints
Hints sind Compiler-Anweisungen, die den Ausführungsplan für SQL-Befehle ändern. Natürlich wären diese Hints nicht erforderlich, wenn der Cost-based Optimizer (CBO) und der Rule-based Optimizer (RBO) von Oracle stets optimale Ausführungspläne erstellen würden.

Es gibt zwei Klassen von Hints:

  • Allgemeine Modus-Hints – Diese Klasse von Hints ändert den allgemeinen Ausführungsmodus für Oracle-Abfragen. Zu diesen Hints zählen /*+ rule */ und /*+ first_rows */.
  • Detaillierte Anweisungs-Hints – Diese Klasse von Hints legt bestimmte Zugangspfade fest, beispielsweise die Verwendung eines Hash-Joins über einen Nested Loop-Join, /*+ use_hash */, oder die Verwendung spezieller Indizes für den Zugriff auf Tabellen.

Insgesamt betrachtet, sind die Hints ein notwendiges und sinnvolles Tool zur Feineinstellung von SQL-Befehlen.

Views
Bei den Views in Oracle handelt es sich um Zusammenfassungen komplexer Abfragen in Pseudotabellen, die sich wie Einzeltabellen verhalten. Im folgenden Beispiel erstellen wir eine View:

create or replace view
cust_view
as
select
customer_name,
order_nbr,
item_desc
from
customer c,
order o,
item i,
where
c.cust_nbr = o.cust_nbr
and
o_item_nbr = i.item_nbr;

Die Pseudotabelle verbirgt bei der folgenden Abfrage die Komplexität der zu Grunde liegenden Abfrage, was auf die Performance der zu Grunde liegenden SQL keinen Einfluss hat:

select * from cust_view where cust_nbr = 123;

In diesem Beispiel verknüpft Oracle bei jeder Abfrage von cust_view die drei Tabellen während der Ausführung.

Wenn die Views also die Performance nicht verbessern, wozu sie dann verwenden? Die meisten Oracle-Systeme verwenden die Views für Endbenutzer-Abfragen, um deren Komplexität zu verbergen, und um einheitliche Verknüpfungsmethoden zu gewährleisten.

Materialized Views
Die von Oracle gebotene Lösung zur Verbesserung der Performance von Standard-Views nennt sich Materialized View. Diese Option wird verwendet, um sämtliche Tabellen für komplexe Abfragen vorzuverknüpfen. Da die Abfrage-Verknüpfungen also bereits ausgeführt wurden, wird die SQL-Ausführung erheblich schneller als dies bei Standard-Views der Fall ist. Dennoch weisen die Materialized Views einige Schwachstellen auf:

  • Höherer Speicherbedarf – Da die Materialized Views die eigentlichen Abfragen ausführen, wird zusätzlicher Festplattenspeicher für die Ergebnistabellen benötigt.
  • Materialized Views veralten sehr schnell – Schon von dem Moment der Erstellung von Materialized View an besteht die Gefahr, dass diese nicht mehr aktuell sind. Zur regelmäßigen Aktualisierung der Materialized Views kann eine Funktion verwendet werden, die den Oracle-Snapshots ähnelt.

Page: 1 2

ZDNet.de Redaktion

Recent Posts

Vereinte Nationen: Elektronik-Schrott erreicht 2019 Rekordvolumen von 53,6 Millionen Tonnen

In fünf Jahren erhöht sich das jährliche Aufkommen um 9,2 Millionen Tonnen. Die UN kritisiert…

18 Stunden ago

Studie: 16 Facebook-Apps geben unerlaubt Daten an Dritte weiter

Forscher entwickeln ein auf Honeytokens basierendes Tool. Es stellt speziell gestaltete Daten zur Verfügung, deren…

20 Stunden ago

Britische Kartellwächter untersuchen Suchabkommen zwischen Apple und Google

Es soll eine "erhebliche" Einschränkung für den Suchmarkt darstellen. Die Kartellbehörde CMA leitet dies aus…

21 Stunden ago

Ransomware EKANS nimmt Industriekontrollsysteme ins Visier

Die Schadsoftware funktioniert trotz zahlreicher Programmierfehler. Eine neue Variante verschlüsselt nicht nur Dateien, sie verändert…

24 Stunden ago

Facebook gibt versehentlich Nutzerdaten an App-Entwickler weiter

Eine nach dem Cambridge-Analytica-Skandal eingeführte Sicherheitsmaßnahme greift bei 5000 Apps nicht. Sie erhalten auch nach…

1 Tag ago

EncroChat: Ermittler knacken verschlüsselte Nachrichten und verhaften 746 Verdächtige

Sie ermitteln vier Jahre lang gegen die Betreiber der EncroChat-Plattform. Zwei Monate lang hören sie…

1 Tag ago