SQL Dump Splitter
Brechen Sie einen großen .sql Dump in kleinere Dateien an sicheren Anweisungsgrenzen auf, wobei Schema, Daten und Constraints in ladbarer Reihenfolge bleiben.
🔒 Dieses Tool läuft vollständig in Ihrem Browser. Ihre Dateien werden niemals an einen Server hochgeladen.
Wählen Sie eine .sql-Datei (.sql.gz funktioniert ebenfalls). Sie wird lokal gelesen und nie hochgeladen.
Eine große einzelne Anweisung kann dieses Ziel überschreiten, um gültig zu bleiben.
So funktioniert der SQL-Dump-Splitter
- Fügen Sie die Dump-Datei hinzu - eine einfache .sql oder eine komprimierte .sql.gz funktionieren beide, und sie wird direkt in der Seite gelesen, sodass nichts hochgeladen wird.
- Wählen Sie eine Chunk-Größe, die Ihr Import-Tool oder Ihr Hosting-Limit akzeptiert.
- Laden Sie die Dateien in numerischer Reihenfolge. Der Splitter erhält die ursprüngliche Anweisungsreihenfolge des Dumps und hält gespeicherte Prozeduren, Trigger oder Funktionen intakt. Überprüfen Sie daher vor dem Import alle Schema-, Daten- und Constraint-Abschnitte.
FAQ
Warum müssen Constraints zuletzt geladen werden?
Weil Datendateien sich gegenseitig referenzieren. Werden Fremdschlüssel geladen, bevor die referenzierten Zeilen existieren, schlägt das fehl. Die Standardreihenfolge ist daher Schema, dann Daten, dann Constraints und Indizes.
Kann ich die Datei an beliebiger Stelle teilen?
Nein - ein Split mitten in einer Anweisung erzeugt Dateien, die für sich genommen ungültiges SQL sind. Splits müssen an Anweisungsgrenzen liegen, weshalb ein naiver Split nach Zeilenanzahl meist scheitert.
Werden gespeicherte Prozeduren, Trigger und Funktionen unterstützt?
Ja. Ein Dump, der mit DELIMITER ;; das Anweisungstrennzeichen ändert, um eine Routine zu definieren, wird von der öffnenden DELIMITER-Zeile bis zur schließenden als ein unteilbarer Block behandelt, sodass eine Chunk-Grenze niemals mitten im Prozedurkörper oder zwischen DELIMITER ;; und dem davon abhängigen Code liegt.
Kann ich einen komprimierten .sql.gz-Dump verwenden?
Ja - legen Sie die .gz-Datei direkt ab, sie wird vor dem Splitten direkt in Ihrem Browser dekomprimiert, mit demselben Standard-gzip-Format, das der gzip-Befehl und mysqldump | gzip erzeugen. Nichts wird serverseitig hochgeladen oder konvertiert.
Warum ist mein Import nach dem Splitten immer noch langsam?
Splitten löst Größenbeschränkungen, nicht Geschwindigkeit. Für Geschwindigkeit laden Sie Daten, bevor Sie Indizes erstellen, und fassen Sie Batches in Transaktionen zusammen.
Funktioniert das nur mit MySQL-Dumps?
Nein. Das Splitten erfolgt generisch an anweisungsabschließenden Semikolons, sodass auch ein PostgreSQL- oder anderer SQL-Dump sicher geteilt wird. Die MySQL-spezifische DELIMITER-Behandlung aktiviert sich nur, wenn ein Dump diese Syntax tatsächlich für gespeicherte Prozeduren oder Trigger verwendet - ansonsten hat sie keine Wirkung.
Wie wähle ich eine Chunk-Größe?
Orientieren Sie sich daran, was die gesamte Datei ablehnt - phpMyAdmin und viele Hoster begrenzen Uploads auf irgendwo zwischen wenigen MB und einigen hundert MB. Prüfen Sie dieses Limit und wählen Sie eine Chunk-Größe sicher darunter. Kleinere Chunks bedeuten lediglich mehr Dateien, die der Reihe nach importiert werden müssen, sonst kein Nachteil.
Der Vergleich
| Funktion | Online Tool Store | Ein CLI-Skript | Ein IDE-Plugin |
|---|---|---|---|
| Anweisungssichere Grenzen | ✓ | ✗ | ✓ |
| Erhält die ursprüngliche Anweisungsreihenfolge | ✓ | ✗ | Manchmal |
| Kein Hochladen des Dumps | ✓ | ✓ | ✗ |
| Funktioniert über Hosting-Upload-Grenzen hinaus | ✓ | Kommt darauf an | ✗ |
| Hält gespeicherte Prozeduren/Trigger bei einem DELIMITER-Wechsel intakt | ✓ | Nur wenn das Skript DELIMITER-fähig ist | ✓ |
| Akzeptiert direkt einen komprimierten .sql.gz-Dump | ✓ | Bestätigt bei sqlsplit.com; ein einfaches Skript benötigt meist erst eine Dekomprimierung | ✓ |
Der SQL Dump Splitter hilft, wenn ein Import an der Dateigröße scheitert - er teilt dort, wo SQL es erlaubt, dekomprimiert einen gezippten Dump für Sie und hält jeden Chunk anweisungssicher, gespeicherte Prozeduren eingeschlossen.