Sehr häufig trifft man in einer Datenbank auf WHERE-Klauseln der folgenden Art: ... WHERE (:v_name IS NULL OR last_name = :v_name) AND (:v_odate IS NULL OR TO_CHAR(order_date,'DD-MM-YYYY') = :v_odate) AND…
Weiter lesenCategory: Performance by Example
Performance by Example: ORDER BY INDEX DESC
Aufgabenstellung / Problemstellung In einer Applikation sollen die letzten (aktuellsten) Werte einer Tabelle angezeigt werden. Die Tabelle selbst ist viele 100 GB groß, und die Applikation bearbeitet immer nur einige…
Weiter lesenPerformance by Example (für DBAs): SQL Patch(ing)
Die Oracle Datenbank kennt (für DBAs) verschiedene Methoden, um den Ausführungplan eines Statements zu beeinflussen. Es handelt sich dabei um SQL Baseline Management, SQL Profiles sowie SQL Patches. Alle anderen…
Weiter lesenPerformance by Example: Reporting und Analyse Tools und die FetchSize
Problemstellung Egal ob Datenbanken in der Cloud oder im (Remote-)Rechenzentrum laufen, kann es auf Grund von Netzwerklatenzen zu unerwarteten Laufzeiten kommen. In diesem Beispiel läuft die Datenbank in einer Cloud…
Weiter lesenPerformance by Example: Single Column Index versus Multicolumn Index
Anwendungsbeispiel In einer Applikation werden Daten in einer großen Tabelle gesucht - allerdings dauert die Abfragen sehr lange. Nehmen wir als Beispiel an, die Tabelle hieße OFFER (Angebot). Sie hat…
Weiter lesenPerformance by Example: Fehlende oder falsche Objektstatistik führt zu merkwürdigem Verhalten
Beschreibung der Applikation In einer Applikation werden im ersten Schritt in der Tabelle WORKER_PARAMETER mehrere 100.000 Arbeitsschritte generiert. Danach werden ca. 100 Prozesse gestartet, die diese Arbeitsschritte abarbeiten und, sobald…
Weiter lesenPerformance by Example: NULL or NOT NULL
Die meisten relationalen Datenbanken verfügen über NOT NULL Constraints. Allerdings hat deren Nutzung abhängig vom Datenbankhersteller unterschiedliche Auswirkungen. Schauen wir uns das Verhalten bei einer Oracle Datenbank einmal genauer an.…
Weiter lesen