Datenbankoptimierung
Jede Business-Applikation verfügt über eine Datenbank, in der die Informationen und Status gespeichert werden. Datenbank Systeme (DBMS) sind sehr generell ausgelegte Systeme, die in einer Grundkonfiguration immer einen Kompromiss darstellen.
Mit der Investition in schnellere Hardware tun Sie nur dem Rechnerhersteller einen Gefallen - Sie erreichen fast nichts! Eine Verfünffachung der CPU-Leistung bzw. Verzehnfachung des Hauptspeichers oder gar Verdopplung des Hauptspeicherdurchsatzes lassen Ihre Kosten über alle Maßen explodieren. Leider sind dies die Größenordnungen um die Sie aufstocken müssten um Ihren Flaschenhals Datenbank loszuwerden.
Hingegen sind dem Micromata Team bei namhaften deutschen Unternehmen Verbesserungen im SQL-Laufzeitverhalten von bis zu Faktor 140 gelungen. Mit der Aufstockung von Hardware wäre diese Verbesserung (laut Moores Gesetz) frühestens in 7 Jahren möglich. Sparen Sie sich diese Zeit ...

Die kritische Größe von SQL-Statements ist ihr Zeit-/Lastverhalten, bezogen auf die Größe der Tabellen, auf denen sie operieren. Bei der Entwicklung der Applikation wird zu oft von einem minimalen Datenbestand ausgegangen - die Applikation verhält sich in der Anlaufphase gutmütig, verschlechtert sich jedoch beim Betrieb, da die Datenbestände zunehmen. Ist die Applikation dann auch noch erfolgreich passiert das, was niemand will: sie wird genau dann unbrauchbar, wenn man prima damit Geld verdienen könnte.
schlechtes Zeitverhalten
... resultiert aus dem SQL-Statement (z. B. durch geschachtelte select Klauseln) ein mehrfacher Full-Table-Scan, so ist polynomiales Zeitverhalten zu erwarten, eine fatale Effizienzfalle.

lineares Zeitverhalten
...ist immer dann zu erwarten, wenn die Datenbank nicht optimieren kann. Sie sucht dann intern nach den gewünschten Daten. Man nennt dies einen Full Table- oder Range Scan.

konstantes Zeitverhalten
... ist das was Sie brauchen. Egal wie viele Datensätze in Ihrer Datenbank schlummern. Konstante SQL-Statements brauchen nicht länger, wenn mehr Daten in der Datenbank sind. Bedenken Sie, dass eine Applikation mit vielen vielen Daten auch stärker genutzt wird -- Sie haben viel mehr dieser Statements; seien Sie froh, wenn diese Statements leichtgewichtig sind.







