Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

MySQL में LIKE क्लॉज का उपयोग करके खोज के लिए तालिकाओं का अनुकूलन करें

आपको या तो पूर्ण-पाठ अनुक्रमणिका का उपयोग करना चाहिए (आपने कहा था कि आप नहीं कर सकते हैं), अपने आप से एक पूर्ण-पाठ खोज डिज़ाइन करें या MySQL से खोज को ऑफ़लोड करें और Sphinx/Lucene का उपयोग करें। लुसीन के लिए आप ज़ेंड फ्रेमवर्क से Zend_Search_Lucene कार्यान्वयन का उपयोग कर सकते हैं या सोलर का उपयोग कर सकते हैं।

MySQL में सामान्य अनुक्रमणिका B+Tree हैं, और यदि स्ट्रिंग की शुरुआत ज्ञात नहीं है, तो उनका उपयोग नहीं किया जा सकता है (और यह तब होता है जब आपके पास शुरुआत में वाइल्डकार्ड होता है)

एक अन्य विकल्प संदर्भ तालिका का उपयोग करके स्वयं खोज को लागू करना है। टेक्स्ट को शब्दों में विभाजित करें और तालिका बनाएं जिसमें शब्द, record_id हो। फिर खोज में आप क्वेरी को शब्दों में विभाजित करते हैं और संदर्भ तालिका में प्रत्येक शब्द की खोज करते हैं। इस तरह आप अपने आप को पूरे पाठ की शुरुआत तक सीमित नहीं कर रहे हैं, लेकिन केवल दिए गए शब्द की शुरुआत तक (और आप वैसे भी बाकी शब्दों से मेल खाएंगे)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQLNonTransientConnectionException:डेटाबेस सर्वर से कनेक्शन नहीं बना सका

  2. MySQL 8 पूर्णांक लंबाई को अनदेखा कर रहा है

  3. कोणीय त्रुटि - संदर्भ त्रुटि:$ मोडल परिभाषित नहीं है

  4. mysqli::query() चुनिंदा प्रश्नों पर सत्य लौटाता है

  5. एकाधिक स्तंभों में एक द्विदिश अद्वितीय अनुक्रमणिका को कैसे कार्यान्वित करें