سؤال

أنا أعمل على نظام قاعدة البيانات وفهارسه ، لكنني أواجه صعوبة في الحصول على فرق واضح بين فهرس التغطية والفهرس المجمع.

لقد غوغل طريقي ولكن لم أحصل على إجابة واضحة على:

  1. ما هي الاختلافات بين نوعين من الفهارس
  2. متى أستخدم فهرس تغطية ومتى أستخدم الفهرس المجمع.

آمل أن يتمكن شخص ما من شرح ذلك لي في إجابة تشبه الأطفال تقريبًا :-)

بإخلاص ميستيكا

بالمناسبة ، أنا أستخدم IBM DB2 الإصدار 9.7

هل كانت مفيدة؟

المحلول

لا يمكنني التحدث إلى DB2 ، لكن ما يلي ينطبق على SQL Server.

عندما تكون جميع الأعمدة المطلوبة جزءًا من الفهرس ، يسمى الفهرس "AA" التغطية الفهرس ". قدم SQL Server 2005 هذا النوع من الفهرس من خلال السماح لك "بأعمدة مضمنة" في الفهرس. يتيح لك ذلك تضمين أعمدة إضافية في الفهرس عبر الحد الأقصى للعمود 16 أو الأعمدة التي ستكون كبيرة جدًا بحيث لا يمكن تضمينها.

على الرغم من أنه يمكنك الحصول على فهرس واحد فقط لكل جدول ، إلا أنه يمكن أن يكون لديك ما يصل إلى 249 فهرسة غير متجانسة لكل جدول.

من خلال وجود فهرس تغطية متاح لتلبية الاستعلام ، لن يحتاج SQL Server إلى العودة إلى الفهرس المجمع لاسترداد بقية البيانات المطلوبة بواسطة الاستعلام.

راندي

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top