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

कौन सा तेज़ है - INSTR या LIKE?

FULLTEXT खोज बिल्कुल तेज होने वाली है, जैसा कि किबिबू ने ऊपर टिप्पणियों में उल्लेख किया है।

हालांकि :

mysql> select COUNT(ID) FROM table WHERE INSTR(Name,'search') > 0;
+-----------+
| COUNT(ID) |
+-----------+
|     40735 | 
+-----------+
1 row in set (5.54 sec)

mysql> select COUNT(ID) FROM table WHERE Name LIKE '%search%';
+-----------+
| COUNT(ID) |
+-----------+
|     40735 | 
+-----------+
1 row in set (5.54 sec)

मेरे परीक्षणों में, वे बिल्कुल वैसा ही प्रदर्शन करते हैं। वे दोनों केस-असंवेदनशील हैं, और आम तौर पर वे पूर्ण-तालिका स्कैन करते हैं, उच्च-प्रदर्शन वाले MySQL के साथ काम करते समय एक सामान्य संख्या-नहीं।

जब तक आप अनुक्रमित कॉलम पर उपसर्ग खोज नहीं कर रहे हैं:

mysql> select COUNT(ID) FROM table WHERE Name LIKE 'search%';
+-----------+
| COUNT(ID) |
+-----------+
|         7 | 
+-----------+
1 row in set (3.88 sec)

इस मामले में, केवल प्रत्यय वाइल्डकार्ड वाला LIKE बहुत तेज़ होता है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. हाइबरनेट से डुप्लिकेट प्रविष्टि त्रुटियां प्राप्त करना, MySQL को दोष देना है?

  2. LINQ से SQL कई टेबल बाएँ बाहरी जुड़ाव

  3. शेल स्क्रिप्ट के माध्यम से इको कमांड के साथ mysql_secure_installation को स्वचालित करें

  4. Mysql में डायनेमिक कॉलम चुनें

  5. डेटाबेस में mysqldb के माध्यम से पांडा डेटाफ़्रेम कैसे सम्मिलित करें?