تختلف تكاليف عمليات الإدخال/الإخراج بين عمليات مسح الفهرس ومسح الجدول بشكل أساسي من حيث كيفية الوصول إلى البيانات ، وعدد الصفحات القراءة ، والكفاءة بناءً على انتقائية الاستعلام وتنظيم البيانات.
تتضمن عمليات مسح الفهرس الوصول إلى البيانات عن طريق اجتياز بنية الفهرس (غالبًا ما تكون B-TRee). تتضمن التكلفة هنا في المقام الأول عنصرين: تكلفة الوصول إلى صفحات فهرس وتكلفة جلب صفحات الجدول المقابلة. تحتوي صفحات الفهرس عمومًا على أنماط وصول عشوائية لأن عقد أوراق الفهرس قد لا تكون متجاورة جسديًا على القرص ، مما يؤدي إلى عمليات I/O العشوائية. يتطلب كل خطوة منطقية لأسفل شجرة الفهرس من الجذر إلى الورقة صفحات القراءة ، ويتم تقدير هذه التكلفة باستخدام معلمة تكلفة الصفحة العشوائية للنظام. بعد تحديد موقع إدخالات الفهرس للصفوف ذات الصلة ، يجلب النظام صفحات بيانات الجدول المقابلة. يعتمد عدد صفحات البيانات هذه على انتقائية الاستعلام والعلاقة الفعلية بين البيانات المخزنة وترتيب الفهرس (المعروف باسم الارتباط). يعني الارتباط العالي مواقع صف إدخالات الفهرس عن كثب ترتيب البيانات الفعلية ، مما يقلل من الإدخال/الإخراج العشوائي وجعل الفهرس أكثر كفاءة. من ناحية أخرى ، يؤدي الارتباط المنخفض إلى العديد من الجلبات العشوائية ، مما يزيد من تكلفة الإدخال/الإخراج بشكل كبير.
تتضمن تكلفة وحدة المعالجة المركزية في عمليات مسح الفهرس معالجة كل صف فردي تم استرداده ، ولكن الاهتمام الرئيسي في التكلفة هو I/O. هناك أيضًا جانب من جوانب الرؤية: إذا كانت قاعدة البيانات تحتوي على تتبع خريطة الرؤية التي تكون صفحات البيانات مرئية تمامًا لجميع المعاملات ، فيمكن للنظام في بعض الأحيان تخطي قراءة صفحات معينة أثناء عمليات المسح الفهرس فقط ، مما يقلل من تكاليف الإدخال/الإخراج بشكل كبير.
في المقابل ، يعمل مسح الجدول أو فحوصات الجدول الكامل من خلال قراءة جميع صفحات البيانات بالتتابع من الجدول. إن الإدخال/الإخراج هنا متسلسل في الغالب ، والذي يميل إلى أن يكون أسرع من I/O العشوائي على أقراص الغزل أو أقل معاقبة على محركات أقراص SSD. تكلفة فحص الجدول الكامل ثابتة نسبيًا لأنه يقرأ الجدول بأكمله بغض النظر عن عدد الصفوف التي تلبي الاستعلام. تعتمد هذه التكلفة على إجمالي عدد الصفحات في الجدول بدلاً من عدد الصفوف المحددة. فحوصات الجدول الكاملة لا تستفيد من الانتقائية ؛ يجب أن يقرأوا كل صفحة حتى لو قام الاستعلام بتصفية الصفوف بشدة. ومع ذلك ، مع تقنيات التخزين الحديثة والتحسينات مثل القراءات المتعددة ، والقراءات المتوازية ، وتفريغ طبقة التخزين ، قد تكون تكلفة عمليات مسح الجدول الكاملة تنافسية أو حتى أقل من فهرس فهرس للاستعلامات التي تسترجع جزءًا كبيرًا من الجدول.
يقرر المحسن المستند إلى التكلفة (CBO) بين استخدام فحص الفهرس ومسح الجدول الكامل بناءً على التكاليف المقدرة. بالنسبة للاستعلامات الانتقائية للغاية ، حيث يجب استرداد جزء صغير من الصفوف فقط إلى انخفاض تكاليف الإدخال/الإخراج لأن عددًا أقل من صفحات الجدول يتم جلبها. مع زيادة عتبة الانتقائية (مزيد من الصفوف اللازمة) ، ترتفع تكلفة الإدخال/الإخراج لمسح فهرس بسبب ارتفاع عدد الجلبات العشوائية ومرور الفهرس ، متجاوزة في نهاية المطاف تكلفة مسح الجدول بالكامل. في هذه المرحلة ، يفضل CBO فحص الجدول لأن تكلفة الإدخال/الإخراج المتسلسلة أقل من عبء I/O العشوائي للعديد من عمليات البحث عن الفهرس.
هناك عامل مهم آخر يؤثر على فرق التكلفة I/O وهو "عامل التجميع" أو التجميع المادي للصفوف المقابلة لمفاتيح الفهرس. يعني عامل التجميع المنخفض (التجميع الأفضل) أن الصفوف التي يتم الوصول إليها عبر الفهرس تقع بالقرب من بعضها البعض جسديًا ، مما يقلل من إدخال/إخراج العشوائي وتحسين كفاءة فحص الفهرس. يؤدي عامل التجميع الأعلى إلى مزيد من الإدخال/الإخراج العشوائي أثناء فحص الفهرس ويقلل من مصلحته مقارنةً بمسح الجدول.
يمكن أن تقوم أنظمة قاعدة البيانات الحديثة أيضًا بتنفيذ عمليات مسح الموازية ومسح الجدول الكامل حيث تتم مشاركة موارد I/O و CPU بين العديد من العمال ، مما قد يقلل من وقت الاستعلام الكلي. ومع ذلك ، فإن الطبيعة الأساسية للإدخال/الإخراج لمسح فهرس (الوصول إلى الصفحة العشوائية) مقابل فحوصات الجدول (في الغالب الوصول إلى الصفحة المتسلسلة) تظل تمييزًا رئيسيًا.
لتلخيص النقاط الرئيسية حول الاختلافات في التكلفة I/O:
- فهرس فهرس يتحمل تكاليف الإدخال/الإخراج من قراءة صفحات فهرس (الوصول العشوائي) بالإضافة إلى جلب صفحات البيانات المقابلة (وصول عشوائي محتمل). التكلفة حساسة للانتقائية والعلاقة وعامل التجميع.
- تقوم عمليات مسح الجدول الكاملة بإجراء إدخال/إخراج متسلسل في قراءة جميع الصفحات ، مع تكلفة I/O مستقرة نسبيًا بغض النظر عن الانتقائية.
- يمكن أن تتفوق عمليات مسح الفهرس عندما تستهدف الاستعلامات مجموعات فرعية صغيرة من البيانات ، ولكنها تعاني من النفقات العامة العشوائية مع ارتفاع الانتقائية.
- يمكن أن تكون عمليات مسح الجدول الكاملة أكثر كفاءة عندما يحتاج جزء كبير من الجدول إلى الوصول بسبب إدخال/إخراج متتابع فعال.
- يمكن أن تقلل خرائط الرؤية ومسح الفهرس فقط من تكاليف الإدخال/الإخراج في بعض حالات فحص الفهرس عن طريق تجنب قراءة صفحة البيانات.
- التوازي يمكن أن يحسن كلا النوعين من المسح ولكن لا يغير خصائص الإدخال/الإخراج الأساسية.
- يوازن المحسن هذه عوامل التكلفة لاختيار الطريقة الأكثر كفاءة بناءً على خصائص الاستعلام والبيانات.