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

MySql प्रश्नों में RegEx बनाम LIKE का प्रदर्शन

यह संभव है कि यह तेज़ हो सकता है क्योंकि LIKE स्थिति का मूल्यांकन नियमित अभिव्यक्ति की तुलना में अधिक तेज़ी से किया जा सकता है, इसलिए यदि अधिकांश पंक्तियाँ परीक्षण में विफल हो जाती हैं तो यह तेज़ हो सकती है। हालाँकि, यह धीमा होगा यदि अधिकांश पंक्तियाँ सफल होती हैं क्योंकि केवल एक के बजाय सफल पंक्तियों के लिए दो परीक्षण चलाए जाने चाहिए। यह इस बात पर भी निर्भर करता है कि अनुकूलक किस अभिव्यक्ति को पहले चलाना चाहता है।

अगर आपके पास ऐसा कुछ है तो और भी बड़ा स्पीडअप देखा जा सकता है:

SELECT * FROM (
   SELECT * FROM lineage_string
   WHERE lineage LIKE '179%'
) WHERE lineage regexp '^179(/|$)'

अब संभावित पंक्तियों को खोजने के लिए एक अनुक्रमणिका का उपयोग किया जा सकता है क्योंकि LIKE '179%' है सरगने योग्य . कई पंक्तियों को बिल्कुल भी जाँचने की आवश्यकता नहीं होगी।

हमेशा की तरह यह सुनिश्चित करने का सबसे अच्छा तरीका है कि आप इसे अपने वास्तविक डेटा पर अपने लिए मापें।



  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. mysql डेटाबेस में स्टोर करने से पहले टेक्स्ट को कंप्रेस करें

  3. mysql में भारतीय भाषा के तेलुगु अक्षर कैसे डालें?

  4. प्रोग्राम से बाहर निकलने पर MySQL पंक्तियाँ हटा दी जाती हैं

  5. मैसकल - यूनिक इंडेक्स के साथ संयुक्त कॉलम की डुप्लिकेट प्रविष्टियों को रोकना