سؤال

ولدي حقل في قاعدة البيانات التي هي فريدة من نوعها تقريبا: 98٪ من الوقت سوف القيم تكون فريدة من نوعها، ولكن قد يكون عدد قليل من التكرارات. أنا لن تفعل العديد من عمليات البحث في هذا المجال. يقول مرتين في الشهر. يحتوي الجدول حاليا ~ 5000 السجلات وسيكسب حوالي 150 دولار شهريا.

ويجب أن يكون هذا المجال فهرس؟

وأستخدمه الخلية.

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

المحلول

وأعتقد أن "فريدة من نوعها تقريبا" من المحتمل ان يكون ذر الرماد في العيون. البيانات إما فريدة من نوعها، أو لم تكن كذلك، ولكن هذا لا تحديد ما إذا كنت تريد أن مؤشر ذلك لأسباب تتعلق بالأداء.

الجواب:

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

شرح:

وماذا لديك للتفكير عندما يقرر إضافة فهرس هو المفاضلة بين السرعة الإدراج، وسرعة الاختيار.

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

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

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

نصائح أخرى

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

ويمكنك استخدام كقاعدة عامة من الإبهام: تحسين عندما يصبح مشكلة. فقط لا تستخدم المؤشر حتى لاحظت تحتاج واحد.

ومن ما تقوله، فإنه لا يبدو وكأنه مؤشر ضروري. بحكم التجربة هو الحقول المؤشر التي يتم استخدامها في يختار الكثير لتسريع البحث، والتي بدورها (يمكن) يبطئ الملاحق والتحديثات.

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

وإذا كان عليك فقط أن تفعل عمليات البحث على مرتين في الشهر، ولها أن بعض الصفوف ثم أود أن أقول لا مؤشر عليه. في جميع ولكن بلا جدوى.

ولا. ليست هناك العديد من السجلات وانها لن يمكن الاستعلام بشكل متكرر. لا حاجة للمؤشر.

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

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

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

وتحرير: بقدر ما المتطلبات المتغيرة، والشيء للنظر هو هذا: إذا كان DB لا تنمو وتجد لاحقا أن كنت بحاجة فهرس، يمكنك ببساطة إنشاء الفهرس وينبغي القيام به؟ أو أنك سوف تحتاج أيضا إلى تغيير الكثير من التعليمات البرمجية للاستفادة من المؤشر الجديد؟

وهذا يعتمد. كما الآخرين وقد استجاب، وهناك مفاضلة بين سرعة تحديث جدول وسرعة الاختيار. ويشمل تحديث جدول إدراج والتحديثات، وحذف على الطاولة.

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

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

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