اذهب إلى المحتوى
  • 0

لماذا لا يتم استخدام index في like في قواعد البيانات

مروان محمود3

السؤال

Recommended Posts

  • 0

يتم إستخدام الindexes عند إستخدام الlike ولكن المشكلة الحقيقية تكمن عند إستخدام الwildcard وهي علامة النسبة المئوية % بداخل الlike وهذا لأنها تعني "أي شئ" بمعنى عند كتابة 

%ahmed تعني أيًا كانت النتيجة المهم يكون في أخرها كلمة أحمد  وهذا يطابق mohamed ahmed, hossam, ahmed
ahmed% وتلك كالأعلى ولكن المهم يكون بدايتها كلمة أحمد

في تلك الجملة لن يتم إستخدام الindex في الحالة الأولى ولكن يتم إستخدامها في الحالة الثانية والسبب أن الindex تكون مخژنة على هيئة binary search tree فعند البحث في الحالة الأولى يضطر للبحث في جميع السجلات حتى يعثر على سجل يكون في نهايته أحمد بغض النظر عن بدايته

بينما في الحالة الثانية يقوم بالبحث بإستخدام خواص البحث والترتيب الخاصة ب binary search tree والتي تمكن بسهولة من الوصول إلى الحالة التي فيها كلمة أحمد فبالتالي يتم إستخدام الindex في حالة ما كانت علامة الwildcard على اليمين وليس على اليسار

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...