Samstag, 6. September 2008

SQL und Performancesicherung

SQL und Performancesicherung


Das Ablegen von Informationen in der Datenbank ist kein Selbstzweck.
Die Daten sollen bei Bedarf zeitnah am Bildschirm bzw. im Programm
zur Verfügung stehen. Das Bereitstellen der Daten übernimmt der Orac-
le-Server. Jeder Zugriff ist mit Kosten in Form von CPU-Zeit und Plat-
tenzugriffen verbunden.



Wenn Datenbank oder Anwendung nicht performant laufen, sehen wir
die Erscheinungen:



  • „Lange Antwortzeit“,

  • „Datenbankmaschine ist CPU-bound“ oder auch

  • „IO Subsystem ist überlastet“.




Die Ursache, vorausgesetzt das System ist hardwareseitig plausibel
dimensioniert, sind jedoch die Kosten der SQL-Anweisungen oder
Mängel in der Konfiguration. Dabei darf SQL nicht auf „Select“ reduziert
werden, auch DML und periodisch wiederkehrende DDL-Anweisungen
müssen berücksichtigt werden.



Angesichts dieser Betrachtung lässt sich leicht zugespitzt behaupten:
Datenbankoptimierung besteht im Wesentlichen aus 3 Schritten:




  1. SQL Optimierung

  2. SQL Optimierung

  3. SQL Optimierung



SQL-Optimierung kann – je nach konkretem Umfeld und Statement –
eine Reduzierung des Ressourcenverbrauchs um Faktor 100, Faktor
1000 oder noch mehr nach sich ziehen. Derartige Steigerungen sind mit
den Mitteln des Instanztunings nicht erreichbar.
Tuningmaßnahmen können sich auf einzelne SQL-Statements oder auf
eine gesamte Applikation erstrecken.



Bei der Auswahl der Aktivitäten ist immer zu berücksichtigen, dass inef-
fiziente Statements im Mehrbenutzerbetrieb auch das Antwortzeitver-
halten anderer User negativ beeinflussen.

Keine Kommentare: