Diese Seite beschreibt Calíope 1.5, die Version, die ich gerade baue. Die 1.4 ist im App Store für Mac, iPad, iPhone, Apple Watch, Apple TV und Apple Vision Pro. Das Changelog sagt, in welcher Version jede Funktion kam.

Fügt jedem Thema einen Button „In Calíope öffnen“ hinzu. Funktioniert nur mit installierter App.

Tabellenwartung

Tabellen-Wartung

Analysiert, 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

Operations-Modifikatoren

Zusätzliche Optionen, die das Verhalten der Operation verändern.

Wo es zu finden ist: Tabellenwartung › Modifikatoren-Raster

Unter der Operation liegt das Modifikatoren-Raster: LOCAL (ohne Binlog), FOR UPGRADE, QUICK, FAST, MEDIUM, EXTENDED, CHANGED und USE_FRM. Jede Operation aktiviert nur die, die sie akzeptiert, und ein Wechsel der Operation hebt sie auf. Zum Beispiel beschleunigt QUICK das CHECK, weil es die Zeilen nicht nach fehlerhaften Verweisen durchsucht, FOR UPGRADE prüft die Kompatibilität mit der aktuellen Serverversion, und LOCAL hält ANALYZE, OPTIMIZE und REPAIR aus dem Binärlog heraus, damit die Replikate sie nicht wiederholen. Bei CHECKSUM meldet QUICK nur die Prüfsumme, die eine Tabelle laufend führt, und die meisten führen keine. USE_FRM baut den Index einer MyISAM-Tabelle aus ihrer Definition neu auf, als letztes Mittel.

Das Raster zeigt nur die Modifikatoren, die die Engine hat. Mit SQL Server nimmt CHECK PHYSICAL_ONLY (nur die Struktur, schneller) und EXTENDED_LOGICAL_CHECKS; mit PostgreSQL gibt es keine, und der Abschnitt wird nicht gezeichnet.

Stichwörter: QUICK, EXTENDED, FOR UPGRADE, LOCAL, Modifikatoren