"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية البحث بكفاءة عن القيم المفصولة بفواصل في MySQL دون استخدام علاقات الجدول؟

كيفية البحث بكفاءة عن القيم المفصولة بفواصل في MySQL دون استخدام علاقات الجدول؟

تم النشر بتاريخ 2024-12-21
تصفح:363

How to Efficiently Search Comma-Separated Values in MySQL Without Using Table Relationships?

البحث الفعال عن القيم المفصولة بفواصل في قاعدة بيانات MySQL

عند العمل مع جداول البيانات التي تحتوي على قيم مفصولة بفواصل، يمكن العثور على تطابقات محددة تكون مهمة صعبة. في هذه الحالة، لديك جدولين: العملاء (يحتويون على عناوين البريد الإلكتروني) وimap_emails (حيث يحتوي الحقل "إلى" على عناوين بريد إلكتروني مفصولة بفواصل). أنت بحاجة إلى البحث بكفاءة داخل جدول imap_emails استنادًا إلى عناوين البريد الإلكتروني من جدول العملاء.

بدلاً من استخدام شرط LIKE، يمكنك الاستفادة من وظيفة FIND_IN_SET لإجراء بحث أكثر استهدافًا. تتيح لك هذه الوظيفة التحقق مما إذا تم العثور على قيمة معينة ضمن سلسلة مفصولة بفواصل.

الحل:

يوضح الاستعلام التالي كيف يمكنك استخدام FIND_IN_SET لتحقيق الكفاءة البحث:

SELECT *
FROM imap_emails
INNER JOIN customers
ON FIND_IN_SET(customers.email, imap_emails.to) > 0

يقوم هذا الاستعلام بإجراء صلة داخلية بين الجدولين، ومطابقة الصفوف التي يوجد بها البريد الإلكتروني للعميل في الحقل المفصول بفاصلة إلى في الجدول imap_emails. باستخدام FIND_IN_SET بدلاً من LIKE، يمكنك تحسين كفاءة البحث وتجنب النتائج الإيجابية الخاطئة.

اعتبارات إضافية:

في سؤالك، ذكرت أنه لا يمكنك استخدام العلاقات بين الجداول. ومع ذلك، إذا كانت لديك القدرة على إنشاء علاقة (على سبيل المثال، استخدام المفاتيح الخارجية)، فسيؤدي ذلك إلى تحسين سلامة البيانات وأداء استعلامات البحث الخاصة بك بشكل كبير.

أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3