Kif tiftaħ fajl kbir tal-SQL dump fuq Mac (bla crash)

Tagħmel double-click fuq esportazzjoni .sql ta' 20–50 GB u l-editur tiegħek jibda jdur, jiffriża, imbagħad imut. Lanqas biss tista' tiftaħ il-fajl — aħseb u ara tneħħi tabella waħda mimlija żejda. Hawn għaliex l-edituri jitgħabbew, is-soluzzjonijiet mil-linja tal-kmand, u mod aktar mgħaġġel.

Dump ta' database tal-produzzjoni faċilment jista' jilħaq għexieren ta' gigabytes. Fil-mument li tipprova tiftħu f'editur tat-test normali, il-fann tal-Mac tiegħek jibda jdur, tidher il-beachball, u eventwalment l-app tagħlaq — xi drabi tieħu magħha xogħol mhux salvat f'twieqi oħra.

Għaliex l-edituri jitgħabbew fuq dumps kbar

VS Code, TextEdit, Sublime Text u sħabhom huma ddisinjati biex itellgħu l-fajl kollu fil-memorja ħalli jkunu jistgħu jiskrolljaw, ifittxu u jenfasizzaw immedjatament. Dan huwa tajjeb għal fajl sors ta' 2 MB. Għal dump ta' 40 GB ifisser li l-editur jipprova jalloka 40 GB (flimkien mal-overhead għall-istrutturi interni tad-data tiegħu) fir-RAM.

Il-Mac tiegħek għandu 16 jew 32 GB. Ħafna qabel ma l-fajl jitgħabba kompletament, is-sistema toqrob mill-memorja fiżika, tibda taqleb għad-disk, u titrażżan għal kollox. Il-biċċa l-kbira tal-edituri wkoll jirrifjutaw direttament: VS Code jillimita l-fajls għal madwar 50 MB għall-editur sħiħ u jaqa' f'modalità mnaqqsa, TextEdit sempliċiment jiddendel, u Sublime jalloka sakemm jikkraxxja. Anke jekk tirnexxielek tiftaħ il-fajl, il-highlighting tas-sintassi u t-tfittxija jerġgħu jiskennjaw gigabytes ma' kull keystroke.

Il-problema ċentrali: dawn l-għodod jassumu aċċess każwali għad-dokument kollu. Dump ma jeħtieġx dan — huwa lista sekwenzjali ta' dikjarazzjonijiet. Trid biss tistrimja minnu.

Il-mod mil-linja tal-kmand

L-għodod Unix fuq il-Mac tiegħek diġà jistrimjaw, għalhekk qatt ma jtellgħu l-fajl kollu. Huma l-ewwel għażla klassika:

# Ħares lejn l-ewwel u l-aħħar linji bla ma tiftaħ il-fajl kollu
head -n 50 dump.sql
tail -n 50 dump.sql

# Aqsam id-dump f'biċċiet ta' 100 MB imsemmija part_aa, part_ab, ...
split -b 100m dump.sql part_

# Iġbed il-blokk ta' tabella waħda bejn żewġ markaturi
sed -n '/CREATE TABLE `users`/,/UNLOCK TABLES/p' dump.sql > users.sql

Dan jaħdem, imma huwa fraġli u tedjanti. split -b jaqta' fuq il-konfini tal-bytes grezzi, għalhekk jaqta' dritt minn nofs dikjarazzjoni INSERT — il-biċċiet li jirriżultaw mhumiex SQL validu waħedhom. It-trick tal-firxa sed jiddependi mill-markaturi eżatti li għodda partikulari tad-dump tispiċċa toħroġ; ibdel il-verżjoni tal-MySQL jew aqleb għal PostgreSQL u l-mudell ma jibqax jaqbel. U xejn minn dan ma jagħtik viżjoni ta' x'hemm fil-fatt ġewwa l-fajl — qed tobsor liema tabella hija dik ta' 30 GB qabel biss ma tkun tista' timmiraha.

Iftaħ u ffiltrah b'DumpCleaner

DumpCleaner inbena eżattament għal dan id-daqs ta' fajl. Jistrimja d-dump kif tagħmel il-linja tal-kmand, imma jifhem l-istruttura tal-SQL, għalhekk tikseb lista reali ta' tabelli u output sikur u konxju tad-dikjarazzjonijiet:

  1. Iġbed il-fajl ġewwa. DumpCleaner jiftaħ id-dump billi jistrimjah f'biċċiet ta' ~1 MB — fajl ta' 50 GB jinfetaħ b'madwar 50 MB ta' RAM, għalhekk xejn ma jiffriża.
  2. Ara kull tabella. Jiskennja d-dump u jelenka kull tabella bid-daqs tagħha, biex immedjatament tinnota liema waħda qed timla l-fajl.
  3. Neħħi l-għażla ta' dak li ma teħtieġx. Neħħi l-marka tat-tabelli enormi tal-log, tas-sessjonijiet jew tal-analitika. DumpCleaner iżomm id-dikjarazzjonijiet sħaħ intatti — l-ebda INSERT maqtugħ f'nofsu.
  4. Esporta. Ikteb fajl .sql ġdid u iżgħar li fl-aħħar jinfetaħ u jimporta bil-kumdità. Il-fajl oriġinali tiegħek qatt ma jiġi mmodifikat.

Peress li jipproċessa dumps ta' 50 GB u akbar b'memorja kostanti, ma trid taħseb xejn dwar ir-RAM tal-Mac tiegħek. U peress li jaqra s-sors u jikteb output separat, id-dump li bdejt bih jibqa' eżattament kif kien.

Iftaħ dumps li l-editur tiegħek ma jistax

DumpCleaner jistrimja SQL dumps ta' kwalunkwe daqs b'memorja kostanti — bla crash, bla swap, bla stennija. Iġbed ġewwa fajl ta' 50 GB, neħħi t-tabelli li ma teħtieġx, esporta wieħed iżgħar. App nattiva għal macOS & iPadOS, xiri ta' darba.

Niżżel mill-App Store

Mistoqsijiet frekwenti

Kemm jista' jkun kbir SQL dump li DumpCleaner jista' jimmaniġġja?

M'hemm l-ebda limitu fiss. Jipproċessa l-fajl bħala stream f'biċċiet żgħar, għalhekk dumps ta' 50 GB u akbar jaħdmu bħal dawk żgħar — id-daqs huwa limitat mid-disk tiegħek, mhux mir-RAM.

DumpCleaner itella' l-fajl kollu fir-RAM?

Le. B'differenza minn editur tat-test, jaqra d-dump f'biċċiet żgħar u jżomm il-memorja kważi kostanti f'madwar 50 MB, sew jekk il-fajl huwa 200 MB jew 50 GB.

Nista' naqsam dump skont it-tabella?

Iva. Minflok split jaqta' għami fuq il-konfini tal-bytes, DumpCleaner jifhem l-istruttura tat-tabelli. Neħħi l-għażla tat-tabelli li ma tridx u esporta fajl nadif biss bil-tabelli li żżomm.

DumpCleaner jimmodifika l-fajl oriġinali tiegħi?

Le. Id-dump tas-sors jinqara biss — DumpCleaner dejjem jikteb fajl ġdid, biex l-oriġinal tiegħek jibqa' intatt.

Ieqaf tiġġieled mal-editur tiegħek

Iġbed ġewwa d-dump enormi, neħħi t-tabelli li ma teħtieġx, esporta fajl li verament jinfetaħ. DumpCleaner jimmaniġġja kwalunkwe daqs b'memorja kostanti.

Niżżel mill-App Store