Så öppnar du en stor SQL-dumpfil på Mac (utan krasch)

Du dubbelklickar på en 20–50 GB stor .sql-export och din editor snurrar, fryser och dör sedan. Du kan inte ens öppna filen — än mindre ta bort en enda uppsvälld tabell. Här är varför editorer stryper, kommandoradsknepen, och ett snabbare sätt.

En produktionsdatabasdump kan lätt nå tiotals gigabyte. I samma ögonblick som du försöker öppna den i en vanlig textredigerare snurrar din Macs fläkt igång, snurrbollen dyker upp, och till slut avslutas appen — ibland tillsammans med osparat arbete i andra fönster.

Varför editorer stryper på stora dumpar

VS Code, TextEdit, Sublime Text och liknande är utformade för att läsa in hela filen i minnet så att de kan rulla, söka och markera direkt. Det är fint för en 2 MB stor källfil. För en 40 GB stor dump innebär det att editorn försöker allokera 40 GB (plus omkostnader för sina interna datastrukturer) i RAM.

Din Mac har 16 eller 32 GB. Långt innan filen är helt inläst får systemet slut på fysiskt minne, börjar växla till disk och kör fast. De flesta editorer vägrar också rakt av: VS Code begränsar filer till omkring 50 MB för den fullständiga editorn och faller ner i ett avskalat läge, TextEdit hänger sig helt enkelt, och Sublime allokerar tills den kraschar. Även om du får filen öppnad kommer syntaxmarkering och sökning att skanna om gigabyte vid varje tangenttryckning.

Kärnproblemet: dessa verktyg förutsätter slumpmässig åtkomst till hela dokumentet. En dump behöver inte det — den är en sekventiell lista av satser. Du behöver bara strömma igenom den.

Kommandoradsvägen

Unix-verktygen på din Mac strömmar redan, så de läser aldrig in hela filen. De är den klassiska första utvägen:

# Titta på de första och sista raderna utan att öppna hela filen
head -n 50 dump.sql
tail -n 50 dump.sql

# Dela dumpen i 100 MB-bitar med namnen part_aa, part_ab, ...
split -b 100m dump.sql part_

# Plocka ut en tabells block mellan två markörer
sed -n '/CREATE TABLE `users`/,/UNLOCK TABLES/p' dump.sql > users.sql

Detta fungerar, men det är skört och omständligt. split -b klipper vid råa bytegränser, så den skär rakt igenom mitten av en INSERT-sats — de resulterande bitarna är inte giltig SQL på egen hand. sed-intervallknepet är beroende av de exakta markörer som ett specifikt dumpverktyg råkar skriva ut; byt MySQL-version eller växla till PostgreSQL och mönstret matchar inte längre. Och inget av det ger dig en överblick över vad som faktiskt finns i filen — du gissar vilken tabell som är den på 30 GB innan du ens kan sikta på den.

Öppna och filtrera den med DumpCleaner

DumpCleaner byggdes för exakt denna filstorlek. Den strömmar dumpen på samma sätt som kommandoraden gör, men den förstår SQL-struktur, så du får en riktig tabellista och säker, satsmedveten utdata:

  1. Dra in filen. DumpCleaner öppnar dumpen genom att strömma den i cirka 1 MB stora bitar — en 50 GB stor fil öppnas med ungefär 50 MB RAM, så inget fryser.
  2. Se varje tabell. Den skannar dumpen och listar varje tabell med dess storlek, så att du direkt ser vilken som sväller upp filen.
  3. Avmarkera det du inte behöver. Bocka ur de gigantiska logg-, sessions- eller analystabellerna. DumpCleaner håller hela satser intakta — inga halvklippta INSERT-satser.
  4. Exportera. Skriv en ny, mindre .sql-fil som äntligen öppnas och importeras utan problem. Din originalfil ändras aldrig.

Eftersom den bearbetar dumpar på 50 GB och större med konstant minne behöver du inte tänka på din Macs RAM alls. Och eftersom den läser källan och skriver en separat utdata förblir dumpen du började med exakt som den var.

Öppna dumpar som din editor inte klarar

DumpCleaner strömmar SQL-dumpar av valfri storlek med konstant minne — ingen krasch, ingen växling, ingen väntan. Dra in en 50 GB stor fil, släpp tabellerna du inte behöver, exportera en mindre. Inhemsk macOS- och iPadOS-app, engångsköp.

Ladda ner i App Store

Vanliga frågor

Hur stor SQL-dump klarar DumpCleaner?

Det finns ingen fast gräns. Den bearbetar filen som en ström i små bitar, så dumpar på 50 GB och större fungerar precis som små — storleken begränsas av din disk, inte ditt RAM.

Läser DumpCleaner in hela filen i RAM?

Nej. Till skillnad från en textredigerare läser den dumpen i små bitar och håller minnet ungefär konstant på cirka 50 MB, oavsett om filen är 200 MB eller 50 GB.

Kan jag dela upp en dump per tabell?

Ja. I stället för att split klipper blint vid bytegränser förstår DumpCleaner tabellstruktur. Avmarkera tabellerna du inte vill ha och exportera en ren fil med bara dem du behåller.

Ändrar DumpCleaner min originalfil?

Nej. Källdumpen läses bara — DumpCleaner skriver alltid en ny fil, så ditt original förblir orört.

Sluta kämpa mot din editor

Dra in den enorma dumpen, släpp tabellerna du inte behöver, exportera en fil som faktiskt öppnas. DumpCleaner hanterar valfri storlek med konstant minne.

Ladda ner i App Store