كيفية فتح ملف SQL dump كبير على Mac (دون تعطُّل)

تنقر مرتين على ملف تصدير .sql بحجم 20–50 غيغابايت فيتجمّد محرّرك، ثم يعلق، ثم يتعطّل. لا يمكنك حتى فتح الملف — ناهيك عن حذف جدول منتفخ واحد. إليك سبب اختناق المحررات، والحلول البديلة عبر سطر الأوامر، وطريقة أسرع.

يمكن لملف dump من قاعدة بيانات إنتاجية أن يبلغ بسهولة عشرات الغيغابايت. وفي اللحظة التي تحاول فيها فتحه في محرّر نصوص عادي، تبدأ مروحة جهازك بالدوران، وتظهر كرة الشاطئ الدوّارة، وينتهي التطبيق بالإغلاق — أحيانًا مصطحبًا معه عملًا غير محفوظ في نوافذ أخرى.

لماذا تختنق المحررات مع ملفات الـ dump الكبيرة

صُمِّمت VS Code وTextEdit وSublime Text وأمثالها لتحميل الملف بأكمله في الذاكرة حتى تتمكن من التمرير والبحث والتمييز فورًا. هذا مناسب لملف مصدر بحجم 2 ميغابايت. أما مع ملف dump بحجم 40 غيغابايت فهذا يعني أن المحرّر يحاول تخصيص 40 غيغابايت (إضافةً إلى عبء بُناه الداخلية) في ذاكرة الوصول العشوائي.

جهازك يملك 16 أو 32 غيغابايت. وقبل أن يُحمَّل الملف بالكامل بوقت طويل، ينفد من النظام الذاكرة الفعلية، ويبدأ بالتبديل إلى القرص (swapping)، فيتباطأ حتى التوقف. كما ترفض معظم المحررات صراحةً: يحدّ VS Code حجم الملفات عند نحو 50 ميغابايت للمحرّر الكامل ويتحوّل إلى وضع مبسّط، ويعلق TextEdit ببساطة، ويستمر Sublime في التخصيص حتى يتعطّل. وحتى لو نجحت في فتح الملف، فسيعيد تمييز البُنية والبحث فحص غيغابايتات عند كل ضغطة مفتاح.

المشكلة الجوهرية: تفترض هذه الأدوات وصولًا عشوائيًا إلى المستند بأكمله. لا يحتاج ملف الـ dump إلى ذلك — فهو قائمة تسلسلية من العبارات. كل ما تحتاجه هو البثّ (streaming) عبره.

طريقة سطر الأوامر

أدوات يونكس على جهازك تعمل بالبثّ أصلًا، فلا تُحمِّل الملف بأكمله أبدًا. وهي الملاذ الأول الكلاسيكي:

# إلقاء نظرة على أول وآخر الأسطر دون فتح الملف كله
head -n 50 dump.sql
tail -n 50 dump.sql

# تقسيم الـ dump إلى أجزاء بحجم 100 ميغابايت باسم part_aa, part_ab, ...
split -b 100m dump.sql part_

# سحب كتلة جدول واحد بين علامتين
sed -n '/CREATE TABLE `users`/,/UNLOCK TABLES/p' dump.sql > users.sql

هذا يعمل، لكنه هشّ ومُتعِب. يقطع split -b عند حدود بايتات خام، فيشقّ منتصف عبارة INSERT — والأجزاء الناتجة ليست SQL صالحة بمفردها. وتعتمد حيلة نطاق sed على العلامات الدقيقة التي تصادف أن تُصدِرها أداة dump معيّنة؛ فبمجرد تغيير إصدار MySQL أو الانتقال إلى PostgreSQL لن يعود النمط مطابقًا. ولا يمنحك أيٌّ منها رؤية لما هو داخل الملف فعلًا — فأنت تخمّن أيّ جدول يبلغ 30 غيغابايت قبل أن تتمكن حتى من استهدافه.

افتحه وصفِّه باستخدام DumpCleaner

صُمِّم DumpCleaner تحديدًا لهذا الحجم من الملفات. فهو يبثّ الـ dump كما يفعل سطر الأوامر، لكنه يفهم بنية SQL، فتحصل على قائمة جداول حقيقية ومخرجات آمنة تراعي حدود العبارات:

  1. اسحب الملف إلى الداخل. يفتح DumpCleaner الـ dump ببثّه في أجزاء بحجم نحو 1 ميغابايت — فيُفتح ملف بحجم 50 غيغابايت باستهلاك 50 ميغابايت من الذاكرة تقريبًا، فلا يتجمّد شيء.
  2. شاهد كل جدول. يفحص الـ dump ويسرد كل جدول مع حجمه، فتكتشف فورًا أيّها يُنفِّخ حجم الملف.
  3. ألغِ تحديد ما لا تحتاجه. ألغِ تحديد جداول السجلّات أو الجلسات أو التحليلات الضخمة. يُبقي DumpCleaner العبارات كاملة سليمة — دون عبارات INSERT مقطوعة في المنتصف.
  4. صدِّر. اكتب ملف .sql جديدًا أصغر يُفتح ويُستورَد أخيرًا بأريحية. ملفك الأصلي لا يُعدَّل أبدًا.

ولأنه يعالج ملفات الـ dump بحجم 50 غيغابايت وأكبر باستهلاك ذاكرة ثابت، لست مضطرًا للتفكير في ذاكرة جهازك إطلاقًا. وبما أنه يقرأ المصدر ويكتب مخرجات منفصلة، يبقى الـ dump الذي بدأت به كما هو تمامًا.

افتح ملفات dump يعجز محرّرك عن فتحها

يبثّ DumpCleaner ملفات SQL dump بأي حجم باستهلاك ذاكرة ثابت — دون تعطُّل ولا تبديل ولا انتظار. اسحب ملفًا بحجم 50 غيغابايت، وألغِ الجداول التي لا تحتاجها، وصدِّر ملفًا أصغر. تطبيق أصلي لنظامي macOS وiPadOS، بشراء لمرة واحدة.

التنزيل من App Store

الأسئلة الشائعة

ما أقصى حجم لملف SQL dump يستطيع DumpCleaner التعامل معه؟

لا يوجد حدّ ثابت. فهو يعالج الملف كتدفّق في أجزاء صغيرة، لذا تعمل ملفات الـ dump بحجم 50 غيغابايت وأكبر كأنها صغيرة — والحجم محدود بقرصك لا بذاكرتك.

هل يُحمِّل DumpCleaner الملف بأكمله في الذاكرة؟

لا. بخلاف محرّر النصوص، يقرأ الـ dump في أجزاء صغيرة ويُبقي استهلاك الذاكرة ثابتًا تقريبًا عند نحو 50 ميغابايت، سواء كان الملف 200 ميغابايت أو 50 غيغابايت.

هل يمكنني تقسيم ملف dump حسب الجدول؟

نعم. بدلًا من قطع split الأعمى عند حدود البايتات، يفهم DumpCleaner بنية الجداول. ألغِ تحديد الجداول التي لا تريدها وصدِّر ملفًا نظيفًا يحوي ما تُبقيه فقط.

هل يُعدِّل DumpCleaner ملفي الأصلي؟

لا. الـ dump المصدر يُقرأ فقط — ويكتب DumpCleaner دائمًا ملفًا جديدًا، فيبقى ملفك الأصلي دون مساس.

توقّف عن مصارعة محرّرك

اسحب ملف الـ dump الضخم، وألغِ الجداول التي لا تحتاجها، وصدِّر ملفًا يُفتح فعلًا. يتعامل DumpCleaner مع أي حجم باستهلاك ذاكرة ثابت.

التنزيل من App Store