شرح صفوف ومحتوى الفقرة
كيف تقرر ترتيب الأعمدة عند تصميم فهرس مركب جديد؟ يعتمد المهندسون على مقياس درجة التميّز أو الانتقائية (Index Selectivity)، وتُحسب بقسمة عدد القيم الفريدة COUNT(DISTINCT col) على إجمالي صفوف الجدول COUNT(*). كلما اقتربت النسبة من 1.00 (مثل البريد الإلكتروني أو رقم العميل)، كان العمود عالي الانتقائية ويضيّق نطاق البحث فوراً إلى صفوف قليلة.
القاعدة الذهبية لترتيب الأعمدة داخل الفهرس المركب:
- أولاً: ضع الأعمدة التي تُفلتَر بالمساواة
=وتتمتع بأعلى انتقائية (High Selectivity) في بداية الفهرس يساراً. - ثانياً: ضع الأعمدة التي تُفلتَر بالنطاقات (
>,<,BETWEEN) أو الترتيبORDER BYعلى يمين أعمدة المساواة. - الفهارس الفريدة (
CREATE UNIQUE INDEX): تضمن عدم تكرار القيم (أو توليفة الأعمدة المركبة) وتتمتع بأعلى انتقائية ممكنة1.0000.
SQL
CREATE UNIQUE INDEX uq_customers_email ON customers (email);