سؤال

لقد قمنا بترحيل الكثير من البيانات من نظام الطلب القديم الخاص بنا.قام هذا النظام بتخزين الأحرف الأولى للمستخدمين في جدول "الطلبات" الخاص بنا لكل طلب قاموا بإنشائه.الآن بعد أن أصبح لدينا عرض ينظر إلى الدليل النشط، أود تحديث تلك الأحرف الأولى باستخدام دليل كائن الدليل النشط (أو أي شيء يشير إلى الدليل).سيسمح لنا ذلك بتغيير الأحرف الأولى للمستخدمين في الدليل النشط دون الحاجة إلى القلق بشأن تحديث سجلات جدول "الطلبات".

لقد قرأت أن أداء الفهرس باهت عند استخدام الأدلة مقابل ints.إحدى الطرق لحل هذه المشكلة هي الحصول على جدول يقوم بتعيين الأدلة إلى ints ثم تخزين قيمة int في جدول الطلبات الخاص بنا.هل ستكون هذه فكرة جيدة؟أي أفكار؟

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

المحلول

وأفترض أن <م> USER كيان موجود بالفعل في تصميم قاعدة البيانات الخاصة بك ولكن إذا لم يحدث ذلك ثم أعتقد أن الحل يتطلب ذلك.

وحتى على افتراض أن <م> USER يوجد كيان، كما كنت قد وصفها، هل يمكن وضع معرف المستخدم (الباحث) على أمر الجدول، وبالتالي المتعلقة عن USER ذات الصلة تفاصيل لORDER <م> ، بدلا من الأحرف الأولى فقط (ملاحظة: يجب القول لا يتم تخزين الأحرف الأولى على ORDER <م> الجدول ولكن بدلا من USER أو <م> USER_DETAILS الطاولة، وإن لم يكن محور هذا النقاش).

وبعد ذلك يمكنك إضافة عمود GUID إلى طاولة USER. لا أعتقد جدول بحث منفصل ضروري.

تأكد معنى؟

نصائح أخرى

لا يختلف أداء الفهرس على المعرفات الفريدة العمومية بشكل عام عن الفهارس الأخرى في حقل 16 بايت.حيث تكون المعرفات الفريدة العمومية (GUID) مميتة للأداء عندما تستخدمها كـ مفتاح التجميع على جدول SQL Server.

جدول SQL Server يكون المفتاح المجمع ويتم ترتيبه فعليًا بواسطة هذا المفتاح.نظرًا لأن المعرفات الفريدة العمومية (GUIDs) بطبيعتها عشوائية تمامًا، فإن هذا يؤدي إلى تجزئة هائلة للفهرس بسرعة كبيرة، وبالتالي يتطلب أ) تغذية ورعاية مستمرة وإعادة تنظيم، ولكن ب) لا يزال يعاني حتى لو قمت بإعادة التنظيم كل ليلة.لذلك، فإن أفضل الممارسات هي تجنب المعرفات الفريدة العمومية (حتى المعرفات الفريدة العمومية "التسلسلية" الجديدة) لمفتاح التجميع الخاص بك.

لمزيد من المعلومات الأساسية وبعض المقالات الممتازة حول سبب إنشاء المعرفات الفريدة العمومية (GUIDs) لمفاتيح مجمعة سيئة للغاية، راجع مدونة "ملكة الفهرسة"، كيمبرلي تريب:

رؤيتها هي الأكثر قيمة - اقرأها، واستوعبها، واتبعها!لن تندم على ذلك.

مارك

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