Gelegentlich wird die Frage gestellt, wann eine Optimierung der Datenbank durchgeführt werden sollte. Es gibt zwei wesentliche Gründe, aus denen heraus eine Optimierung notwendig sein kann.
Der erste und wichtigste Grund ist eine nachlassende Performance, insbesondere bei größeren Datenbankoperationen wie beispielsweise Selektionen. Die Optimierung bringt die Daten innerhalb der Datenbank in eine Reihenfolge, die bei Festplatten (und speziell bei Cache-Controllern) einen höheren I/O-Durchsatz ermöglicht.
Im Regelfall ist die einfache Optimierung ausreichend, die erweiterte Optimierung benötigt ein mehrfaches an Zeit und sollte daher nur auf ausreichend schnellen Servern verwendet werden.
Die Reduzierung der Datenbankgröße ist der zweite Grund, eine Optimierung zu starten. Hierbei reicht die einfache Optimierung aber nur dann, wenn vorher größere Datenmengen gelöscht wurden. Ansonsten kann die Größe nur mit der erweiteren Variante verringert werden. Auch bei Nutzung der verbesserten Datensatzspeicherung der 5.6 ist nach dem RecReplace() aller Datensätze eine erweiterte Optimierung sinnvoll.
Die Geschwindigkeit der Optimierung hängt direkt von der Größe des Datenbankcaches ab. Gegebenenfalls kann der Cache für die Optimierung vorübergehend erhöht werden. Dabei ist zu bedenken, daß die Optimierung selbst auch 10 MB Hauptspeicher pro GB Datenbank benötigt.
4 Antworten
@tsauter
Erklärbar ist dieses Verhalten nicht. Wir werden Sie hierzu direkt kontaktieren.
Die DB ist rund 100GB gross, 10 GB sind frei
@tsauter
Ich gehe davon aus, das es keine .ca2 gibt (in diesem Fall kann die .ca1 nicht schrumpfen). Wie groß ist denn die Datenbank und wieviel freier Speicher wird angezeigt?
Woran kann es liegen, wenn nach einer erweiterten Optimierung die Datenbankgröße nicht reduziert wird (genügend Freiplatz wird in der Datenbank angezeigt)?