Tabellen-Wartung
In Calíope öffnenAnalysiert, prüft, optimiert oder repariert die ausgewählten Tabellen, mit den Operationen, die der Server hat.
Wo es zu finden ist: Workspace › Werkzeuge › Tabellenwartung
Öffne Tabellenwartung über die Seitenleiste des Workspace. Wähl die Tabellen im Baum links aus (das Kästchen einer Datenbank markiert alle ihre Tabellen, oder du markierst sie einzeln), wähl oben die Operation — ANALYZE, CHECK, CHECKSUM, OPTIMIZE oder REPAIR — und klick auf Ausführen. Neben dem Button siehst du, wie viele Tabellen ausgewählt sind.
Die Ergebnisse erscheinen darunter, eine Zeile pro Meldung, die der Server für jede Tabelle zurückgibt: Warnungen sind orange hervorgehoben, Fehler rot. Bei InnoDB antwortet OPTIMIZE mit einem Hinweis: Es baut die Tabelle neu auf und analysiert sie stattdessen. CHECKSUM liefert eine Zahl pro Tabelle; dieselbe Zahl auf zwei Servern bedeutet dieselben Zeilen. REPAIR läuft nur auf Tabellen, deren Speicher-Engine sich reparieren kann: MyISAM, Aria, ARCHIVE und CSV. Bevor du es ausführst, sagt eine Zeile unter den Modifikatoren, wie viele der ausgewählten Tabellen übersprungen werden, und jede bekommt eine Zeile mit dem Grund; bei InnoDB schlägt die Zeile OPTIMIZE vor, das die Tabelle neu aufbaut. Auf dem Mac sortierst du die Ergebnisse per Klick auf einen Spaltenkopf; Ergebnisse leeren leert die Liste. Während eine Operation läuft, erscheinen neben Ausführen ein Fortschrittsbalken und Abbrechen; die Tabellen werden nacheinander verarbeitet, also hält Abbrechen vor der nächsten an.
Der Baum hat einen Filter nach Namen in der Kopfzeile, genau wie im SQL-Editor: Tipp einen Teil eines Datenbank- oder Tabellennamens ein, um die Liste einzugrenzen. Jede Datenbank lädt ihre Tabellen beim ersten Aufklappen; filterst du bei noch nicht aufgeklappten Datenbanken, nennt die Fußzeile die fehlende Anzahl und bietet an, sie zu laden. Alles auswählen durchläuft alle Datenbanken des Servers außer seinen Systemdatenbanken, die du von Hand markieren kannst, und kann einige Sekunden dauern. Lehnt der Server die Operation für eine Tabelle ab, bekommt diese Tabelle eine Fehlerzeile mit der Meldung des Servers.
SQL Server
Es gibt drei Operationen: ANALYZE (UPDATE STATISTICS), CHECK (DBCC CHECKTABLE) und OPTIMIZE (ALTER INDEX ALL … REBUILD). Es gibt kein REPAIR —es verlangt die Datenbank im Einzelbenutzermodus und kann Daten verlieren— und kein CHECKSUM. OPTIMIZE sperrt die Tabelle, solange es neu aufbaut: Den Neuaufbau online gibt es nur in der Enterprise-Edition, und nicht mit räumlichen Indizes.
PostgreSQL
Es gibt zwei Operationen: ANALYZE und OPTIMIZE, das VACUUM und danach REINDEX TABLE CONCURRENTLY ausführt und deshalb zwei Zeilen pro Tabelle liefert; keine der beiden hält die Tabelle an. Es gibt kein CHECK —der Kern hat nichts Vergleichbares—, kein REPAIR, kein CHECKSUM und keine Modifikatoren. VACUUM FULL, das als einziges dem System Speicherplatz zurückgibt, fehlt absichtlich: Es sperrt die ganze Tabelle, während es sie neu schreibt. Auf einem Server vor Version 12 bleibt OPTIMIZE beim VACUUM, und die Zeile des Index sagt, warum.
Stichwörter: ANALYZE, CHECK, OPTIMIZE, REPAIR, Wartung, CHECKSUM