Un abocament d'una base de dades de producció pot arribar fàcilment a desenes de gigabytes. En el moment que intentes obrir-lo en un editor de text normal, el ventilador del Mac s'accelera, apareix la bola de platja i finalment l'aplicació es tanca, de vegades emportant-se feina no desada d'altres finestres.
Per què els editors s'ennueguen amb abocaments grans
VS Code, TextEdit, Sublime Text i companyia estan dissenyats per carregar el fitxer sencer a la memòria per poder desplaçar-se, cercar i ressaltar a l'instant. Això va bé per a un fitxer font de 2 MB. Per a un abocament de 40 GB vol dir que l'editor intenta reservar 40 GB (més la sobrecàrrega de les seves estructures de dades internes) a la RAM.
El teu Mac té 16 o 32 GB. Molt abans que el fitxer estigui completament carregat, el sistema es queda sense memòria física, comença a fer swap al disc i s'atura del tot. La majoria d'editors també s'hi neguen directament: VS Code limita els fitxers a uns 50 MB per a l'editor complet i passa a un mode reduït, TextEdit simplement es penja i Sublime reserva memòria fins que peta. Fins i tot si aconsegueixes obrir el fitxer, el ressaltat de sintaxi i la cerca reescanejaran gigabytes a cada pulsació de tecla.
El problema de fons: aquestes eines assumeixen accés aleatori a tot el document. Un abocament no necessita això: és una llista seqüencial de sentències. Només cal recórrer-lo en flux.
La manera de la línia d'ordres
Les eines Unix del teu Mac ja treballen en flux, així que mai no carreguen el fitxer sencer. Són el primer recurs clàssic:
# Fes una ullada a les primeres i últimes línies sense obrir tot el fitxer head -n 50 dump.sql tail -n 50 dump.sql # Divideix l'abocament en trossos de 100 MB anomenats part_aa, part_ab, ... split -b 100m dump.sql part_ # Extreu el bloc d'una taula entre dues marques sed -n '/CREATE TABLE `users`/,/UNLOCK TABLES/p' dump.sql > users.sql
Això funciona, però és fràgil i tediós. split -b talla per límits de bytes en brut, així que tallarà pel bell mig d'una sentència INSERT: els trossos resultants no són SQL vàlid per si sols. El truc de rang amb sed depèn de les marques exactes que una eina d'abocament concreta genera; canvia la versió de MySQL o passa a PostgreSQL i el patró ja no coincideix. I res d'això et dona una visió del que realment hi ha dins del fitxer: estàs endevinant quina taula és la de 30 GB abans de poder-la ni tan sols apuntar.
Obre'l i filtra'l amb DumpCleaner
DumpCleaner es va crear exactament per a aquesta mida de fitxer. Recorre l'abocament en flux com ho fa la línia d'ordres, però entén l'estructura SQL, així que obtens una llista de taules real i una sortida segura i conscient de les sentències:
- Arrossega-hi el fitxer. DumpCleaner obre l'abocament recorrent-lo en trossos d'aproximadament 1 MB: un fitxer de 50 GB s'obre amb uns 50 MB de RAM, així que res no es penja.
- Veu totes les taules. Escaneja l'abocament i llista cada taula amb la seva mida, així detectes de seguida quina infla el fitxer.
- Desmarca el que no necessites. Desmarca les taules gegants de registre, de sessió o d'analítica. DumpCleaner manté les sentències senceres intactes: cap INSERT tallat a mitges.
- Exporta. Escriu un fitxer
.sqlnou i més petit que finalment s'obre i s'importa còmodament. El teu fitxer original no es modifica mai.
Com que processa abocaments de 50 GB i més grans amb memòria constant, no has de pensar gens en la RAM del teu Mac. I com que llegeix l'origen i escriu una sortida separada, l'abocament amb què vas començar queda exactament com estava.
Obre abocaments que el teu editor no pot
DumpCleaner recorre en flux abocaments SQL de qualsevol mida amb memòria constant: sense fallades, sense swap, sense esperes. Arrossega-hi un fitxer de 50 GB, elimina les taules que no necessites, exporta'n un de més petit. Aplicació nativa de macOS i iPadOS, compra única.
Baixa-la a l'App StorePreguntes freqüents
Com de gran pot ser un abocament SQL que DumpCleaner pugui gestionar?
No hi ha cap límit fix. Processa el fitxer com un flux en trossos petits, així que abocaments de 50 GB i més grans funcionen com els petits: la mida la limita el teu disc, no la RAM.
DumpCleaner carrega tot el fitxer a la RAM?
No. A diferència d'un editor de text, llegeix l'abocament en trossos petits i manté la memòria aproximadament constant al voltant de 50 MB, tant si el fitxer fa 200 MB com 50 GB.
Puc dividir un abocament per taula?
Sí. En lloc que split talli a cegues per límits de bytes, DumpCleaner entén l'estructura de les taules. Desmarca les taules que no vols i exporta un fitxer net només amb les que et quedes.
DumpCleaner modifica el meu fitxer original?
No. L'abocament d'origen només es llegeix: DumpCleaner sempre escriu un fitxer nou, així que l'original queda intacte.
Deixa de barallar-te amb el teu editor
Arrossega-hi l'abocament enorme, elimina les taules que no necessites, exporta un fitxer que realment s'obre. DumpCleaner gestiona qualsevol mida amb memòria constant.
Baixa-la a l'App Store