Nindet هي دالة سلسلة نصية في MySQL تستخدم للعثور على موقع سلسلة في قائمة قائمة فصولة بفاصلة.يعود إلى رقم كامل يبين موقع السلسلة التي تم العثور عليها (العد من 1)، أو صفر إذا لم تكن السلسلة مدرجة في القائمة.وكثيرا ما تستخدم هذه الدالة لمعالجة الحقول التي تخزن فيها سلاسل تفصل بين الفواصل، على الرغم من أن هذا التصميم لا يُوصى به عادة (من الأفضل استخدام مزايا استخدام قواعد البيانات القائمة على العلاقات، مثل إنشاء جداول متعددة العلاقات).
قواعد اللغة
FIND_IN_SET (str، strlist)
STR: ابحث عن السلسلة
Strlet: قائمة تحتوي على سلسلة من السلاسل المفصولة بفاصلة
إيضاحية
لنفترض أن هناك قائمة تحمل اسم "USER" تحتوي على مجموعة من الهوبيس التي تخزن هوايات المستخدمين وتفصل بينها بفاصلة.
لا، لا، لا -
ملاحظة
الأداء: يمكن أن يؤدي استخدام صيغة (FIND-Set في مجموعات البيانات الكبيرة إلى مشاكل في الأداء، لأنه يتطلب مسح سطحي سطحي وفصل السلاسل المفصولة بفاصلة.
الفهرسة: لا يمكن استخدام هذه الفهرسة، مما يعني أن البحث قد لا يستخدم الفهرسة للتعجيل باسترجاع البيانات.
تنظيم البيانات: من الأفضل تنظيم هذه الحقول المتعددة القيمة، مثلاً عن طريق إنشاء قائمة جديدة تحتوي على حقول USRIEED و HOBBEE، مع احتفاظ كل مستخدم بصف من هوايات كل مستخدم.ومن شأن ذلك أن يتيح تشغيل وصلة معيارية من نوع SQL واستخدام الفهرسة لتحسين أداء البحث.
وعموماً، رغم أن للصيغة (FIND-Set) فائدة في بعض الحالات، فإن من المستصوب، عند تصميم قاعدة البيانات، تجنب استخدام السلاسل المفصولة بفاصلة لتخزين قيم متعددة، واتباع نهج أكثر تنظيماً.
© CopyRight 2018-2025, Tool.hadsky.com