دمج الترتيب
يجمع ربط الدمج بالترتيب قائمتين مرتَّبتين كما يُغلق السحّاب. ويجب أن يكون طرفا الربط مرتَّبين بمُسندات الربط.
ويحتاج ربط الدمج بالترتيب الفهارس نفسها التي يحتاجها الربط بالتجزئة، أي فهرساً للشروط المستقلة لقراءة جميع السجلات المرشحة دفعة واحدة. أما فهرسة مُسندات الربط فلا جدوى منها. وكل شيء شبيه بالربط بالتجزئة حتى الآن. غير أن هناك جانباً فريداً في ربط الدمج بالترتيب: التناظر المطلق؛ فترتيب الربط لا يُحدث أي فرق — ولا حتى في الأداء. وهذه الخاصية مفيدة جداً للعمليات الخارجية (outer joins)؛ ففي الخوارزميات الأخرى يستلزم اتجاه الربط الخارجي (يساراً أو يميناً) ترتيب الربط — بخلاف ربط الدمج بالترتيب. بل يستطيع ربط الدمج بالترتيب تنفيذ ربط خارجي أيسر وأيمن في الوقت نفسه — وهو ما يسمى الربط الخارجي الكامل (full outer join)، كما في الرسم المتحرك التالي.
الشكل 4.1 ربط الدمج بالترتيب ينفّذ ربطاً خارجياً كاملاً 
ومع أن ربط الدمج بالترتيب يؤدي أداءً جيداً جداً بعد ترتيب المدخلات، فقلّما يُستخدم لأن فرز الطرفين باهظ جداً. أما الربط بالتجزئة فيحتاج إلى معالجة مسبقة لطرف واحد فقط.
إن أعجبك هذا الموضوع، قد يعجبك أيضاً…
… أن تشترك في القوائم البريدية، وتحصل على ملصقات مجانية، وتشتري كتابي، أو تنضم إلى دورة تدريبية.
وتبرز قوة ربط الدمج بالترتيب إذا كانت المدخلات مرتَّبة أصلاً. وهذا ممكن باستغلال ترتيب الفهرس لتجنّب عمليات الفرز كلياً. ويشرح الفصل 6، «الترتيب والتجميع» هذا المفهوم بالتفصيل. ومع ذلك تتفوق خوارزمية الربط بالتجزئة في حالات كثيرة.
مربع حقائق
- لا تحتاج عمليات ربط الدمج بالترتيب فهارس على مُسندات الربط.
- لا تدعم MySQL عمليات ربط الدمج بالترتيب إطلاقاً.