بلا عنوان

 عنوان:
فهارس SQL Server


عدد الكلمات:

388


ملخص:

SQL Server نوعان من الفهارس تتطلب فهارس مجمعة غير مجمعة غير متفاوتة جدول بيانات ترتيب تم فرزها فعليًا فهرس غير متفاوت ليس بيانات تم فرزها فعليًا مدير المؤسسة إنشاء معالج الفهرس مقدمة فهارس خادم SQL مجزأة



الكلمات الدالة:

تصميم البيانات nj ، استشارات تكنولوجيا المعلومات nj ، البرمجة المخصصة



نص المقالة:

فهارس SQL Server

يشبه فهرس قاعدة البيانات فهرس في كتاب - فهو يتكون من قيمة بحث ومعرف رقم يتوافق مع رقم الصف في الجدول. في SQL Server ، هناك نوعان من الفهارس - مجمعة وغير مجمعة. تتطلب الفهارس العنقودية أن يتم فرز البيانات الموجودة في الجدول فعليًا بترتيب الفهرس. نظرًا لأنه يمكن فرز البيانات الموجودة في الجدول فعليًا بطريقة واحدة فقط ، فلا يمكن أن يكون هناك سوى فهرس مجمع واحد فقط لكل جدول. لا يتطلب الفهرس غير العنقودي أن يتم فرز البيانات فعليًا ، لذلك يمكن أن يكون هناك أكثر من فهرس واحد غير مجمع لكل جدول. في الواقع ، يسمح SQL Server بما يصل إلى 249 فهرسًا غير مجمع لكل جدول. نظرًا لأن البيانات لا يتم فرزها فعليًا ، فإن عمليات البحث عن النطاق باستخدام فهرس غير متفاوت لا تكون فعالة للغاية.


الأمر الخاص بإنشاء فهرس في T-SQL هو


أنشئ [فريدًا] [مغلق | NONCLUSTERED] INDEX index_name تشغيل {جدول | عرض} (العمود [ASC | DESC] [، ... n]) [WITH <index_option> [، ... n]] [ON filegroup] <index_option> :: = {PAD_INDEX | FILLFACTOR = عامل ملء | IGNORE_DUP_KEY | DROP_EXISTING | STATISTICS_NORECOMPUTE | SORT_IN_TEMPDB}


تعيّن PAD_INDEX النسبة المئوية للمساحة الخالية على المستويات غير الطرفية للفهرس. يحدد FILLFACTOR النسبة المئوية لملء صفحات طرفية. تحدد SORT_IN_TEMPDB أنه سيتم تخزين النتائج الوسيطة للفرز في tempdb. يؤدي هذا إلى زيادة متطلبات مساحة القرص ولكنه يؤثر على إنشاء فهرس السرعة. STATISTICS_NO_RECOMPUTE تخبر النظام بعدم تحديث إحصائيات الفهرس تلقائيًا.


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


هناك مقايضة مع الفهارس. بينما يقومون بتسريع تنفيذ الاستعلامات بشكل كبير ، هناك نفقات إضافية مرتبطة بهم. تستهلك مساحة إضافية على القرص ، وتتطلب وقتًا إضافيًا لتحديث نفسها كلما تم تحديث البيانات أو إلحاقها بجدول. عند تحميل كميات كبيرة من البيانات ، قد يكون من المفيد إسقاط الفهرس قبل التحميل ، ثم إعادة إنشاء الفهرس بعد إلحاق السجلات الجديدة بالجدول. يمكن إسقاط الفهارس باستخدام Table Designed ، أو باستخدام أمر DROP INDEX.


يمكن أيضًا أن تصبح الفهارس مجزأة. لإلغاء تجزئة فهرس ، قم بإفلات الفهرس وإعادة إنشائه ، أو قم بإصدار الأمر dbcc indexdefrag.


"


إرسال تعليق

أحدث أقدم

إعلان أدسنس أول الموضوع

إعلان أدسنس أخر الموضوع