محمد شرف

جدول واحد كبير أم جدولان متطابقان؟

عندما يكون لمجموعتين من البيانات الهيكل نفسه، لماذا يتفوق جدول واحد مفهرس غالبًا على تقسيمهما.

· 1 دقائق قراءة

من الأرشيف: نُشر أصلًا على mohamedsharaf.net في فبراير 2013. أُعيدت كتابته ومراجعته في 2026، وبعض التفاصيل قد تكون قديمة.

سؤال ظهر في أحد المشاريع: نوعان من السجلات بالأعمدة نفسها تمامًا. جدولان، أم جدول واحد مع عمود type؟ عادةً أختار جدولًا واحدًا:

  • السرعة: مع الفهرس المناسب، يستغرق إيجاد سجل الوقت نفسه تقريبًا سواء كان في الجدول ألف سجل أو مئة مليون. فهارس B-tree تكبر ببطء شديد مع الحجم.
  • تصميم أبسط: مجموعة واحدة من المفاتيح الخارجية، ومجموعة واحدة من الاستعلامات، ومكان واحد لإضافة عمود.
  • الربط: ربط الجدول بنفسه قد يكون أسرع قليلًا من ربط نسختين، لأن بياناته وفهارسه موجودة في الذاكرة أصلًا.

افهرس الأعمدة التي تفلتر عليها (مثل (type, created_at)). وإذا كبر الجدول فعلًا إلى حجم ضخم، يستطيع تقسيم MySQL (Partitioning) أن يقسمه فعليًا بينما يرى كودك جدولًا واحدًا.

شاركWhatsAppLinkedInXTelegramFacebook