DBA Tipp: Cursor-Sharing-Kandidaten in der Anwendung identifizieren
Wie du “tunenswerte” Statements in deiner Datenbank findest und welche zwei Möglichkeiten dir zur Optimierung zur Verfügung stehen.
Wie du “tunenswerte” Statements in deiner Datenbank findest und welche zwei Möglichkeiten dir zur Optimierung zur Verfügung stehen.
Gute Nachrichten für alle Nutzer der automatischen SQL-Planverwaltung (kurz SPM): Das Feature steht ab sofort für die Enterprise Edition der Oracle Database 23ai bereit und wurde sogar in Oracle Database 19c (ab 19.22) zurück portiert.
Im Rahmen von Performanceuntersuchungen und Healthchecks unserer Kundensysteme treffen wir häufig auf Indizes, die vom Grundsatz her nicht erforderlich sind. Zwei häufige Fälle – und Queries zum Auffinden entsprechender „Kandidaten“ – werden in diesem DBA Tipp vorgestellt.
Ungenutzte Indizes bringen faktisch nur Nachteile mit sich. Daher ist es durchaus ratsam, sie von Zeit zu Zeit auf ihre Daseinsberechtigung hin zu prüfen.
Bereits mit Oracle Bordmitteln lassen sich syntaktisch fehlerhafte SQL-Statements ermitteln.
Die Nutzung von Bindevariablen sollte Vorrang vor der Verwendung von Literalen haben.
In der SELECT-Klausel sollten keine Subqueries auftauchen. Die so bezogenen Daten können immer auch über einen Join referenziert werden.
NOT IN sollte nicht verwendet werden, wenn die in der Subquery referenzierte Spalte NULL enthalten kann. NOT IN vs NOT EXISTS – wir zeigen wie es richtig geht.
Funktionen um Spalten verhindern, dass dieser Teil der Klausel einen (konventionellen) Index verwenden kann.