MySQL LIKE vs LOCATE: कौन अधिक कुशल है?
MySQL में पैटर्न मिलान क्वेरी निष्पादित करते समय, आपके पास दो मुख्य विकल्प होते हैं: LIKE ऑपरेटर और LOCATE फ़ंक्शन। कौन तेज़ प्रदर्शन करता है?
इस प्रश्न का उत्तर देने के लिए, आइए एक साधारण बेंचमार्क का उपयोग करके इन दोनों दृष्टिकोणों के प्रदर्शन की तुलना करें। निम्नलिखित क्वेरी उन पंक्तियों को खोजने के लिए LIKE ऑपरेटर का उपयोग करती है जहां एक कॉलम में एक विशिष्ट पाठ होता है:
SELECT * FROM table WHERE column LIKE '%text%';
निम्नलिखित क्वेरी LOCATE फ़ंक्शन का उपयोग करती है समान ऑपरेशन करने के लिए:
SELECT * FROM table WHERE LOCATE('text',column)>0;
इन प्रश्नों को एक बड़े डेटासेट के विरुद्ध चलाने से पता चलता है कि LIKE ऑपरेटर थोड़ा तेज़ है, मुख्य रूप से क्योंकि यह LOCATE द्वारा आवश्यक अतिरिक्त तुलना (> 0) से बचता है। यहां एक बेंचमार्क से परिणाम दिए गए हैं:
mysql> SELECT BENCHMARK(100000000,LOCATE('foo','foobar')); --------------------------------------------- | BENCHMARK(100000000,LOCATE('foo','foobar')) | --------------------------------------------- | 0 | --------------------------------------------- 1 row in set (3.24 sec) mysql> SELECT BENCHMARK(100000000,LOCATE('foo','foobar') > 0); ------------------------------------------------- | BENCHMARK(100000000,LOCATE('foo','foobar') > 0) | ------------------------------------------------- | 0 | ------------------------------------------------- 1 row in set (4.63 sec) mysql> SELECT BENCHMARK(100000000,'foobar' LIKE '%foo%'); -------------------------------------------- | BENCHMARK(100000000,'foobar' LIKE '%foo%') | -------------------------------------------- | 0 | -------------------------------------------- 1 row in set (4.28 sec) mysql> SELECT @@version; ---------------------- | @@version | ---------------------- | 5.1.36-community-log | ---------------------- 1 row in set (0.01 sec)
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3