وضع فهرس في حقل تاريخ في MySQL
-
27-09-2019 - |
سؤال
هل ستكون هناك أي فائدة حقيقية بالنسبة لي وضع فهارس في حقول التاريخ التي سيتم استخدامها بشكل أساسي في الاستعلامات باستخدام أشياء مثل.
dateField < 'var'
و
'var' BETWEEN dateField1 AND dateField2
يتم إجراء عمليات البحث كثيرًا ، لكنني لا أقوم بمقارنة مباشرة "=" عليها.
المحلول
نعم بالطبع. ستستفيد عمليات البحث في النطاق من فهرس ، تمامًا مثل عمليات البحث عن المساواة.
نقلاً عن دليل مرجع MySQL :: كيف يستخدم MySQL الفهارس:
خصائص فهرس شجرة B.
يمكن استخدام فهرس B-Tree لإجراء مقارنات الأعمدة في التعبيرات التي تستخدم = ،> ،> = ، <، <= ، أو بين المشغلين. يمكن أيضًا استخدام الفهرس لمثل المقارنات إذا كانت الوسيطة التي تعجبها هي سلسلة ثابتة لا تبدأ بحرف البدل.
في بعض الحالات ، قد يقرر المحسن عدم استخدام الفهرس إذا كان النطاق سينتهي به المطاف إلى أن يكون كبيرًا جدًا ، حيث قد يكون فحص الجدول أسرع بالفعل. يستخدم EXPLAIN
لمعرفة أي فهارس (إن وجدت) سيتم استخدامها في استعلامك.