Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

MySQL में वाइल्डकार्ड (%%) के साथ खोज प्रदर्शन में सुधार कैसे करें?


मुख्य नियम: अग्रणी वाइल्डकार्ड इंडेक्स को रोकते हैं

MySQL अग्रणी वाइल्डकार्ड (जैसे '%abc%' या '%abc') के साथ इंडेक्स का उपयोग नहीं कर सकता। लेकिन अनुगामी वाइल्डकार्ड (जैसे 'abc%') इंडेक्स का उपयोग कर सकते हैं।

सिंटैक्स: अनुगामी वाइल्डकार्ड (इंडेक्स-अनुकूल)

SELECT * FROM yourTableName WHERE yourColumnName LIKE 'anyLetter%';

व्यावहारिक उदाहरण

टेबल बनाना

mysql> CREATE TABLE TrailingWildCardDemo (
    Id INT NOT NULL AUTO_INCREMENT,
    Name VARCHAR(20),
    PRIMARY KEY(Id)
);

नाम डेटा डालना

mysql> INSERT INTO TrailingWildCardDemo(Name) VALUES('John');
mysql> INSERT INTO TrailingWildCardDemo(Name) VALUES('Johnson');
mysql> INSERT INTO TrailingWildCardDemo(Name) VALUES('Mike');
mysql> INSERT INTO TrailingWildCardDemo(Name) VALUES('Kevin');
mysql> INSERT INTO TrailingWildCardDemo(Name) VALUES('Adam');
mysql> INSERT INTO TrailingWildCardDemo(Name) VALUES('Ethan');
mysql> INSERT INTO TrailingWildCardDemo(Name) VALUES('James');

सभी रिकॉर्ड

+----+---------+
| Id | Name    |
+----+---------+
|  1 | John    |
|  2 | Johnson |
|  3 | Mike    |
|  4 | Kevin   |
|  5 | Adam    |
|  6 | Ethan   |
|  7 | James   |
+----+---------+

क्वेरी: 'j' से शुरू होने वाले नाम (अनुगामी वाइल्डकार्ड)

mysql> SELECT * FROM TrailingWildCardDemo WHERE Name LIKE 'j%';

आउटपुट

+----+---------+
| Id | Name    |
+----+---------+
|  1 | John    |
|  2 | Johnson |
|  7 | James   |
+----+---------+

प्रदर्शन तुलना

पैटर्नइंडेक्स उपयोगप्रदर्शनउपयोग मामला
'abc%'हाँ (रेंज स्कैन)तेज़उपसर्ग खोज, ऑटोकंप्लीट
'%abc'नहीं (फुल स्कैन)धीमाप्रत्यय खोज
'%abc%'नहीं (फुल स्कैन)सबसे धीमासबस्ट्रिंग खोज

अग्रणी वाइल्डकार्ड के लिए समाधान

  • फुलटेक्स्ट इंडेक्स: FULLTEXT इंडेक्स और MATCH() ... AGAINST() उपयोग करें।
  • नग्राम/पार्सर: MySQL 5.7+ में ngram फुलटेक्स्ट पार्सर।
  • बाहरी खोज इंजन: Elasticsearch, Solr, आदि।
  • आवेदन-स्तर कैशिंग: सामान्य खोजों को कैश करें।
  • उल्टा कॉलम: उल्टे स्ट्रिंग को अलग कॉलम में संग्रहीत करें और 'cba%' खोजें।

EXPLAIN के साथ जांचें

EXPLAIN SELECT * FROM TrailingWildCardDemo WHERE Name LIKE 'j%';

type: range और key: Name_index देखें — इंडेक्स उपयोग हो रहा है।

  1. Mz 7 Optimizer के साथ अपने Windows प्रदर्शन को बेहतर बनाएं Mz 7 Optimizer के साथ अपने Windows प्रदर्शन को बेहतर बनाएं

    पहले जब मैंने TweakNow PowerPack आज़माया था, तो मुझे लगा कि यह सबसे व्यापक ट्वीक एप्लिकेशन है। लेकिन मैं कितना गलत था। Mz 7 Optimizer को आज़माने के बाद ही मुझे एहसास हुआ कि यह TweakNow से कहीं अधिक शक्तिशाली है। संक्षेप में, Mz 7 Optimizer Windows के लिए एक अत्याधुनिक ट्वीकिंग एप्लिकेशन है। यह आपके

  1. अपने यूट्यूब खोज को बढ़ाएं: सटीक परिणामों के लिए उन्नत ऑपरेटरों में महारत हासिल करें अपने यूट्यूब खोज को बढ़ाएं: सटीक परिणामों के लिए उन्नत ऑपरेटरों में महारत हासिल करें

    यदि आप एक नवोदित यूट्यूबर हैं या अपने वीडियो को सामने लाने के लिए सही कीवर्ड प्राप्त करने पर काम कर रहे हैं, तो यूट्यूब पर एक महत्वपूर्ण बाजार है क्योंकि सभी प्रकार के लोग वीडियो स्ट्रीमिंग साइट के माध्यम से स्क्रॉल करना पसंद करते हैं। यूट्यूब हमेशा उपयोगकर्ताओं के लिए बेहतर परिणाम प्राप्त करना आसान

  1. एडवांस्ड सिस्टम ऑप्टिमाइज़र के साथ विंडोज़ स्पीड बढ़ाएं – सिद्ध प्रदर्शन लाभ एडवांस्ड सिस्टम ऑप्टिमाइज़र के साथ विंडोज़ स्पीड बढ़ाएं – सिद्ध प्रदर्शन लाभ

    ब्लॉग सारांश – यदि आप अपने कंप्यूटर से सर्वश्रेष्ठ आउटपुट प्राप्त करना चाहते हैं, तो आपको पता होना चाहिए कि इसे कैसे बनाए रखें। एक ऑप्टिमाइज़्ड कंप्यूटर होना सिस्टम को उसके सर्वश्रेष्ठ स्तर पर चलाने के लिए सबसे महत्वपूर्ण है। हम आपको एडवांस्ड सिस्टम ऑप्टिमाइज़र के उपयोग के बारे में बताते हैं ताकि वि