WITH-Klausel

In der Praxis trifft man von Zeit zu Zeit auf aufgeblaehte SQL-Queries, die ausserordentlich kostenintensiven und langwierigen Ausfuehrungsplaenen folgen. Zeigt eine weitergehende Analyse, dass die komplexe Abfrage eine oder mehrere Subqueries enthaelt, die mehrfach ausgefuehrt werden, dann besteht eine sehr gute Chance durch Verwendung der sogenannten WITH-Klausel, die Performance der Abfrageausfuehrung erheblich zu steigern. Im […]

Before-Insert/Update Trigger (Performance)

Bei der Verwendung von Before-Insert / Update Triggern sollte man bezüglich performance immer prüfen ob eine Wertzuweisung erfolgen muss oder ob der Wert bereits vorhanden ist. Z.b. bei den Feldern create_on bzw. create_by ist eine Zuweisung nur Sinnvoll, wenn die Werte wirklich NULL sind. Ansonsten ist der Performanceverlust bei einer permanenten Zuweisung sehr hoch.

check constraint vs. trigger

Steht bei der Verarbeitung die Geschwindigkeit im Vordergrund, sollte man generell auf die Verwendung von Triggern auf Row-Level Ebene verzichten. Sofern dies möglich ist. Hier ist die Verwendung von check constraints auf alle Fälle vorzuziehen. Wird hingegen von vornherein ein Trigger (Before-Insert / Update) verwendet, kann die Prüfung im Trigger selber erfolgen. Wird ein Trigger […]

get-Routinen inkl. cachen unter PL/SQL

Dieser Abschnitt befasst sich mit dem Thema des auslesen von Feldinhalten eines Datensatzes einer Tabelle welcher über eine ID (i.d.R der PK) angesprochen wird. Die meisten ermitteln den Inhalt einer Spalte ganz Normal über eine Cursor-Programmierung innerhalb einer Funktion. Das bedeutet, dass für jede Spalte, die ermittelt werden soll, eine Funktion geschrieben wird. Dies erzeugt […]

INSERT INTO via ROWTYPE

Allgemein Ab der Oracle Datenbank Version 9.2 ist das INSERT-Statement um eine weitere funktionalität Erweitert worden. Es ist nun möglich, an eine Insert-Anweisung, statt einzelner Felder, einen kompletten Record zu übergeben. Dieser Record muss dabei die gleiche Struktur wie die entsprechende Tabelle widerspiegeln. Jedoch dürfen dabei einzelne Felder leer bleiben. Der Vorteil dieser erweiterten funktionalität […]