موضع عمود ذو قيمة أساسية عالية في الفهارس المركبة مع استعلامات النطاق
عند الاستعلام عن جدول يحتوي على فهرس مركب يتضمن شرط نطاق، فإن موضع يمكن أن تؤثر الأعمدة الموجودة داخل الفهرس بشكل كبير على الأداء.
ضع في اعتبارك ملفات الجدول التي تحتوي على مفتاح أساسي (فعل، اسم الملف) وفهرسين مركبين: INDEX (وقت الملف، تحويلة) و INDEX (تحويلة، وقت الملف). يحتوي كلا الفهرسين على عمود وقت الملف، الذي يحتوي على أصل أعلى من ext.
الاستعلام:
WHERE ext = '...' AND filetime BETWEEN ... AND ...يتطلب الوصول إلى البيانات بناءً على كل من التحويلة ووقت الملف. السؤال الذي يطرح نفسه: ما هو الفهرس الأمثل لمثل هذا الاستعلام؟
تحليللتحديد الفهرس الأمثل، يمكننا استخدام FORCE INDEX وفحص خطط التنفيذ:
-- فرض النطاق على وقت الملف أولاً مؤشر القوة (fe) حدد العد (*)، AVG (fsize) من الملفات حيث تحويلة = 'gif' ووقت الملف >= '01-01-2015' ووقت الملف = '01-01-2015' AND filetime
-- Force range on filetime first FORCE INDEX(fe) SELECT COUNT(*), AVG(fsize) FROM files WHERE ext = 'gif' AND filetime >= '2015-01-01' AND filetime = '2015-01-01' AND filetime [] &&&]تتبع المحسن
لمزيد من تحليل سلوك المحسن، يمكننا استخدام المحسن تتبع:SELECTexplain_format = 'JSON'; حدد COUNT(*)، AVG(fsize) من الملفات حيث تحويلة = 'gif' ووقت الملف >= '01-01-2015' AND filetime
يكشف التتبع أن المحسن يختار INDEX(ext, filetime) لأنه يمكنه استخدام كلا عمودين الفهرس لتصفية البيانات وجلبها. في المقابل، يمكن لـ INDEX(filetime, ext) استخدام العمود الأول فقط (filetime) للتصفية.
SELECT explain_format = 'JSON'; SELECT COUNT(*), AVG(fsize) FROM files WHERE ext = 'gif' AND filetime >= '2015-01-01' AND filetime الاستنتاجاتاستنادًا إلى التحليل، يمكن الاستنتاجات التالية: مرسومة:
بالنسبة للفهارس المركبة المستخدمة في استعلامات النطاق، يجب وضع العمود المتضمن في مسند المساواة (التحويلة في هذه الحالة) أولاً في تعريف الفهرس.يتم تحسين أداء الاستعلام عندما يتم ترتيب الأعمدة في الفهرس وفقًا للترتيب الذي يتم استخدامها به في جملة WHERE.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3