القراء مثلك يساعدون في دعم MUO. عند إجراء عملية شراء باستخدام الروابط الموجودة على موقعنا ، فقد نربح عمولة تابعة. اقرأ أكثر.

يساعد الفهرس SQL Server في استرداد البيانات من الصفوف بسرعة. تعمل الفهارس مثل جدول المحتويات في بداية الكتب ، مما يسمح لك بالبحث عن الصفحة التي يتواجد فيها الموضوع بسرعة. بدون فهارس ، يجب على SQL Server فحص جميع الصفوف في الجدول للعثور على سجل.

هناك نوعان من الفهارس في SQL Server: متفاوت المسافات وغير متفاوت. اكتشف الفرق بين الفهارس العنقودية وغير العنقودية وسبب أهميتها.

فهرس مجمع في SQL Server

في الفهرس العنقودي ، يتم تخزين صفوف البيانات فعليًا بطريقة منظمة بناءً على قيمة المفتاح. نظرًا لأن الفهرس يتضمن الجدول ويمكنه فقط ترتيب الصفوف بترتيب واحد ، يمكنك فقط إنشاء فهرس مجمع واحد لكل جدول.

بينما تجعل الفهارس استرداد الصفوف في النطاق أسرع ، إدراج وتحديث البيانات قد يكون بطيئًا لأن مُحسِّن الاستعلام يمسح الفهرس بالترتيب حتى يعثر على الفهرس الهدف.

فهرس غير مجمع في SQL Server

يحتوي الفهرس غير العنقودي على القيم الأساسية التي يكون إدخالها مؤشرًا يسمى محدد موقع الصف. بالنسبة للجداول المجمعة (الجداول ذات الفهرس العنقودي) ، يشير المؤشر إلى مفتاح في الفهرس العنقودي والذي بدوره يشير إلى الصف في الجدول. بالنسبة للصفوف التي لا تحتوي على فهرس متفاوت ، يشير المؤشر مباشرة إلى صف الجدول.

instagram viewer

كيفية إنشاء فهرس مجمع في SQL Server

عند إنشاء جدول بمفتاح أساسي ، يقوم SQL Server تلقائيًا بإنشاء مفتاح فهرس متفاوت بناءً على هذا المفتاح الأساسي. إذا لم يكن لديك مفتاح أساسي ، يمكنك تنفيذ العبارة التالية لإنشاء مفتاح فهرس متفاوت.

يخلق متجمد فِهرِس <فِهرِساسم>
على الطاولة <اسم الطاولة>(اسم العمود)

في هذا البيان ، أنت تحدد اسم الفهرس واسم الجدول الذي تريد إنشاؤه فيه واسم العمود المراد استخدامه في الفهرس.

إذا قمت بإضافة مفتاح أساسي إلى جدول يحتوي على فهرس مجمع بالفعل ، فسيقوم SQL Server بإنشاء فهرس غير مجمع به.

لإنشاء فهرس مجمع لا يتضمن عمود المفتاح الأساسي ، يجب عليك أولاً إسقاط قيد المفتاح الأساسي.

يستخدماسم_قاعدة البيانات
تغييرطاولة اسم الطاولة
يسقطقيد pk_name
يذهب

تؤدي إزالة قيود المفتاح الأساسي أيضًا إلى إزالة الفهرس العنقودي مما يسمح لك بإنشاء فهرس مخصص.

كيفية إنشاء فهرس غير متفاوت المسافات في SQL Server

لإنشاء فهرس غير عنقودي ، استخدم العبارة التالية.

يخلقفِهرِس <فِهرِساسم>
على الطاولة <اسم الطاولة>(اسم العمود)

يمكنك أيضًا استخدام الكلمة الرئيسية NONCLUSTERED مثل هذا:

يخلق [غير محصورة] فِهرِس <فِهرِساسم>
على الطاولة <اسم الطاولة>(اسم العمود)

تنشئ هذه العبارة فهرسًا غير عنقودي في الجدول الذي تحدده وتتضمن العمود الذي تحدده.

إذا أردت ، يمكنك فرز الأعمدة بترتيب تصاعدي (ASC) أو ترتيب تنازلي (DESC).

يخلق [غير محصورة] فِهرِس <فِهرِساسم>
على الطاولة <اسم الطاولة>(اسم العمود ASC / DESC)

أي مؤشر يجب أن تختار؟

تعمل الفهارس المجمعة وغير العنقودية على تحسين وقت الاستعلام. إذا كانت معظم استعلاماتك عبارة عن عمليات SELECT في عدة أعمدة في الجدول ، فإن الفهارس المجمعة تكون أسرع. ومع ذلك ، بالنسبة لعمليات INSERT أو UPDATE ، تكون الفهارس غير العنقودية أسرع حيث يمكن لمحسن الاستعلام تحديد موقع العمود مباشرة من الفهرس.

كما ترى ، تعمل هذه الفهارس بشكل أفضل استعلامات SQL مختلفة. لذلك ستستفيد معظم قواعد بيانات SQL من وجود فهرس مجمع واحد على الأقل وفهارس غير مجمعة للأعمدة التي يتم تحديثها بانتظام.

أهمية الفهارس في SQL Server

الفهارس المجمعة وغير العنقودية تؤدي إلى أداء استعلام أعلى. عند تشغيل استعلام ، يقوم مُحسِّن الاستعلام بفحص الفهرس بحثًا عن موقع تخزين الصف ثم استرداد المعلومات من هذا الموقع. هذا أسرع بكثير من مسح جميع الصفوف في الجدول.

يمكنك أيضًا استخدام فهارس غير متفاوتة المسافات لحل حالات توقف البحث عن الإشارات المرجعية عن طريق إنشاء فهرس غير مجمع للأعمدة التي تتضمن وصول الاستعلامات.