Sådan åbner du en stor SQL-dumpfil på Mac (uden crash)

Du dobbeltklikker på en .sql-eksport på 20–50 GB, og din editor snurrer, fryser og dør så. Du kan ikke engang åbne filen — endsige fjerne en enkelt oppustet tabel. Her er, hvorfor editorer sætter i stå, kommandolinje-tricksene og en hurtigere måde.

En dump af en produktionsdatabase kan nemt nå adskillige gigabyte. I det øjeblik du forsøger at åbne den i en almindelig teksteditor, skruer din Macs blæser op, strandbolden dukker op, og til sidst afslutter appen — nogle gange med tab af ugemt arbejde i andre vinduer.

Hvorfor editorer sætter i stå på store dumps

VS Code, TextEdit, Sublime Text og lignende er designet til at indlæse hele filen i hukommelsen, så de kan scrolle, søge og fremhæve øjeblikkeligt. Det er fint til en kildefil på 2 MB. For en dump på 40 GB betyder det, at editoren forsøger at allokere 40 GB (plus overhead til sine interne datastrukturer) i RAM.

Din Mac har 16 eller 32 GB. Længe før filen er fuldt indlæst, løber systemet tør for fysisk hukommelse, begynder at swappe til disk og går i stå. De fleste editorer nægter også direkte: VS Code sætter en grænse på omkring 50 MB for den fulde editor og skifter til en afskåret tilstand, TextEdit hænger simpelthen, og Sublime allokerer, indtil den crasher. Selv hvis du får filen åbnet, vil syntaksfremhævning og søgning skanne gigabyte igennem igen ved hvert tastetryk.

Kerneproblemet: disse værktøjer antager vilkårlig adgang til hele dokumentet. En dump har ikke brug for det — den er en sekventiel liste af sætninger. Du skal kun streame igennem den.

Kommandolinje-måden

Unix-værktøjerne på din Mac streamer allerede, så de indlæser aldrig hele filen. De er den klassiske første udvej:

# Kig på de første og sidste linjer uden at åbne hele filen
head -n 50 dump.sql
tail -n 50 dump.sql

# Split dumpen i 100 MB-stykker navngivet part_aa, part_ab, ...
split -b 100m dump.sql part_

# Træk én tabels blok ud mellem to markører
sed -n '/CREATE TABLE `users`/,/UNLOCK TABLES/p' dump.sql > users.sql

Det virker, men det er skrøbeligt og besværligt. split -b skærer på rå byte-grænser, så den skærer lige gennem midten af en INSERT-sætning — de resulterende stykker er ikke gyldig SQL i sig selv. sed-intervaltrickset afhænger af de præcise markører, som et bestemt dump-værktøj tilfældigvis udsender; skift MySQL-version eller gå over til PostgreSQL, og mønstret matcher ikke længere. Og intet af det giver dig et overblik over, hvad der faktisk er i filen — du gætter på, hvilken tabel der er den på 30 GB, før du overhovedet kan ramme den.

Åbn og filtrér den med DumpCleaner

DumpCleaner blev bygget til præcis denne filstørrelse. Den streamer dumpen på samme måde som kommandolinjen, men den forstår SQL-struktur, så du får en rigtig tabelliste og sikkert, sætningsbevidst output:

  1. Træk filen ind. DumpCleaner åbner dumpen ved at streame den i ~1 MB-stykker — en fil på 50 GB åbnes med cirka 50 MB RAM, så intet fryser.
  2. Se hver tabel. Den skanner dumpen og lister hver tabel med dens størrelse, så du med det samme spotter, hvilken der puster filen op.
  3. Fravælg det, du ikke har brug for. Fjern fluebenet ved de gigantiske log-, session- eller analytics-tabeller. DumpCleaner holder hele sætninger intakte — ingen halvt afskårne INSERTs.
  4. Eksportér. Skriv en ny, mindre .sql-fil, der endelig åbner og importerer uden problemer. Din originalfil ændres aldrig.

Fordi den behandler dumps på 50 GB og større med konstant hukommelse, behøver du slet ikke tænke på din Macs RAM. Og da den læser kilden og skriver et separat output, forbliver den dump, du startede med, præcis som den var.

Åbn dumps, din editor ikke kan

DumpCleaner streamer SQL-dumps af enhver størrelse med konstant hukommelse — ingen crash, ingen swap, ingen ventetid. Træk en fil på 50 GB ind, drop de tabeller, du ikke har brug for, eksportér en mindre. Native macOS- & iPadOS-app, engangskøb.

Hent i App Store

Ofte stillede spørgsmål

Hvor stor en SQL-dump kan DumpCleaner håndtere?

Der er ingen fast grænse. Den behandler filen som en stream i små stykker, så dumps på 50 GB og større fungerer som små — størrelsen er begrænset af din disk, ikke din RAM.

Indlæser DumpCleaner hele filen i RAM?

Nej. I modsætning til en teksteditor læser den dumpen i små stykker og holder hukommelsen nogenlunde konstant omkring 50 MB, uanset om filen er 200 MB eller 50 GB.

Kan jeg splitte en dump efter tabel?

Ja. I stedet for at split skærer blindt på byte-grænser, forstår DumpCleaner tabelstruktur. Fravælg de tabeller, du ikke vil have, og eksportér en ren fil med kun dem, du beholder.

Ændrer DumpCleaner min originalfil?

Nej. Kildedumpen læses kun — DumpCleaner skriver altid en ny fil, så din original forbliver urørt.

Stop kampen med din editor

Træk den store dump ind, drop de tabeller, du ikke har brug for, eksportér en fil, der faktisk åbner. DumpCleaner håndterer enhver størrelse med konstant hukommelse.

Hent i App Store