अल्पकालिक समाधान
WHERE FIND_IN_SET('Queensland', csv_column)
... क्योंकि किसी भी छोर पर वाइल्डकार्ड के साथ LIKE का उपयोग करना जोखिम भरा है, यह इस बात पर निर्भर करता है कि कितने/छोटे मैच (और यह एक टेबल स्कैन भी सुनिश्चित करता है)। दोनों तरफ वाइल्डकार्ड के साथ LIKE का प्रदर्शन REGEXP के बराबर है--इसका मतलब खराब है।
दीर्घकालिक समाधान
अल्पविराम द्वारा अलग किए गए मानों को संग्रहीत न करें -- तीन तालिकाओं को शामिल करते हुए उचित अनेक-से-अनेक संबंध का उपयोग करें:
चीजें
- thing_id (प्राथमिक कुंजी)
ऑस्ट्रेलियाई राज्य
- State_id (प्राथमिक कुंजी)
- राज्य_नाम
Things_to_Auz_States
- thing_id (प्राथमिक कुंजी,
THINGS
के लिए विदेशी कुंजी) टेबल) - State_id (प्राथमिक कुंजी,
AUSTRALIAN_STATES
के लिए विदेशी कुंजी) टेबल)
तीन तालिकाओं से डेटा प्राप्त करने के लिए आपको जॉइन की आवश्यकता होगी, लेकिन यदि आप यह जानना चाहते हैं कि कितने किसी विशेष राज्य या दो विशेष राज्यों से जुड़े हैं, तो यह उचित मॉडल है।