Il dump di un database di produzione può facilmente raggiungere decine di gigabyte. Nel momento in cui provi ad aprirlo in un normale editor di testo, la ventola del Mac accelera, compare la rotellina colorata e alla fine l'app si chiude — a volte trascinando con sé il lavoro non salvato in altre finestre.
Perché gli editor si bloccano sui dump grandi
VS Code, TextEdit, Sublime Text e simili sono progettati per caricare l'intero file in memoria, così da poter scorrere, cercare ed evidenziare istantaneamente. Va benissimo per un file sorgente da 2 MB. Per un dump da 40 GB significa che l'editor prova ad allocare 40 GB (più l'overhead delle sue strutture dati interne) in RAM.
Il tuo Mac ha 16 o 32 GB. Molto prima che il file sia caricato del tutto, il sistema esaurisce la memoria fisica, inizia a fare swap su disco e si impianta. La maggior parte degli editor si rifiuta anche in modo esplicito: VS Code limita i file a circa 50 MB per l'editor completo e passa a una modalità ridotta, TextEdit si blocca e basta e Sublime alloca fino a crashare. E anche se riesci ad aprire il file, l'evidenziazione della sintassi e la ricerca rianalizzeranno gigabyte a ogni pressione di tasto.
Il problema di fondo: questi strumenti presuppongono un accesso casuale all'intero documento. Un dump non ne ha bisogno — è un elenco sequenziale di istruzioni. Devi solo scorrerlo in streaming.
Il metodo da riga di comando
Gli strumenti Unix del tuo Mac lavorano già in streaming, quindi non caricano mai l'intero file. Sono la classica prima risorsa:
# Sbircia le prime e le ultime righe senza aprire tutto il file head -n 50 dump.sql tail -n 50 dump.sql # Dividi il dump in blocchi da 100 MB chiamati part_aa, part_ab, ... split -b 100m dump.sql part_ # Estrai il blocco di una tabella tra due marcatori sed -n '/CREATE TABLE `users`/,/UNLOCK TABLES/p' dump.sql > users.sql
Funziona, ma è fragile e noioso. split -b taglia su confini di byte grezzi, quindi affetta dritto in mezzo a un'istruzione INSERT — i blocchi risultanti non sono SQL valido da soli. Il trucco dell'intervallo con sed dipende dai marcatori esatti che un determinato strumento di dump emette; cambia la versione di MySQL o passa a PostgreSQL e il pattern non corrisponde più. E niente di tutto questo ti dà una visione di cosa c'è davvero dentro il file — stai tirando a indovinare quale tabella sia quella da 30 GB prima ancora di poterla individuare.
Aprirlo e filtrarlo con DumpCleaner
DumpCleaner è stato costruito esattamente per questa dimensione di file. Scorre il dump in streaming come fa la riga di comando, ma comprende la struttura SQL, così ottieni un vero elenco di tabelle e un output sicuro e consapevole delle istruzioni:
- Trascina il file dentro. DumpCleaner apre il dump scorrendolo in blocchi da circa 1 MB — un file da 50 GB si apre con circa 50 MB di RAM, così niente si blocca.
- Vedi ogni tabella. Analizza il dump ed elenca ciascuna tabella con la sua dimensione, così individui subito quale sta gonfiando il file.
- Deseleziona ciò che non ti serve. Togli la spunta alle enormi tabelle di log, sessione o analytics. DumpCleaner mantiene intere le istruzioni — niente INSERT tagliate a metà.
- Esporta. Scrivi un nuovo file
.sqlpiù piccolo che finalmente si apre e si importa comodamente. Il tuo file originale non viene mai modificato.
Poiché elabora dump da 50 GB e oltre con memoria costante, non devi pensare affatto alla RAM del tuo Mac. E dato che legge la sorgente e scrive un output separato, il dump da cui sei partito resta esattamente com'era.
Apri dump che il tuo editor non può aprire
DumpCleaner scorre in streaming dump SQL di qualsiasi dimensione con memoria costante — niente crash, niente swap, niente attese. Trascina un file da 50 GB, elimina le tabelle che non ti servono, esporta un file più piccolo. App nativa per macOS e iPadOS, acquisto una tantum.
Scarica dall'App StoreDomande frequenti
Quanto può essere grande un dump SQL che DumpCleaner riesce a gestire?
Non c'è un limite fisso. Elabora il file come un flusso in piccoli blocchi, quindi dump da 50 GB e oltre funzionano come quelli piccoli — la dimensione è limitata dal tuo disco, non dalla RAM.
DumpCleaner carica l'intero file in RAM?
No. A differenza di un editor di testo, legge il dump in piccoli blocchi e mantiene la memoria pressoché costante intorno ai 50 MB, che il file sia da 200 MB o da 50 GB.
Posso dividere un dump per tabella?
Sì. Invece di split che taglia alla cieca sui confini di byte, DumpCleaner comprende la struttura delle tabelle. Deseleziona le tabelle che non vuoi ed esporta un file pulito con solo quelle che tieni.
DumpCleaner modifica il mio file originale?
No. Il dump di origine viene solo letto — DumpCleaner scrive sempre un nuovo file, così il tuo originale resta intatto.
Smetti di combattere con il tuo editor
Trascina il dump enorme, elimina le tabelle che non ti servono, esporta un file che si apre davvero. DumpCleaner gestisce qualsiasi dimensione con memoria costante.
Scarica dall'App Store