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

फ़ाइलों के माध्यम से टटोलना या ब्लॉब्स के माध्यम से SQL LIKE %x% क्वेरी चलाना आम तौर पर तेज़ क्या है?

यदि आपके पास समझने के लिए 1M फ़ाइलें हैं, तो आप (सर्वोत्तम मुझे पता है) नियमित अभिव्यक्ति के साथ प्रत्येक के माध्यम से जाना होगा।

सभी उद्देश्यों और उद्देश्यों के लिए, यदि आप LIKE ऑपरेटर या रेगुलर एक्सप्रेशन का उपयोग करके बड़े पैमाने पर क्वेरी करते हैं, तो आप टेबल पंक्तियों पर एक ही काम करने जा रहे हैं।

ग्रेप के साथ मेरा अपना अनुभव यह है कि मैं शायद ही कभी किसी ऐसी चीज की तलाश करता हूं जिसमें कम से कम एक पूर्ण शब्द न हो, हालांकि, आप उस सेट को कम करने के लिए डेटाबेस का लाभ उठा सकते हैं जिसमें आप खोज रहे हैं।

MySQL में मूल पूर्ण पाठ खोज सुविधाएं हैं, लेकिन मैं इसके खिलाफ अनुशंसा करता हूं क्योंकि उनका मतलब है कि आप InnoDB का उपयोग नहीं कर रहे हैं।

आप पोस्टग्रेज़ के बारे में यहाँ पढ़ सकते हैं:

http://www.postgresql.org/docs/current/static/textsearch .html

एक tsvector कॉलम पर एक इंडेक्स बनाने के बाद, आप दो चरणों में अपना "grep" कर सकते हैं, एक तुरंत उन पंक्तियों को खोजने के लिए जो अस्पष्ट रूप से योग्य हो सकती हैं, इसके बाद दूसरा आपके सही मानदंड पर:

select * from docs where tsvcol @@ :tsquery and (regexp at will);

यह grep जो कुछ भी कर सकता है, उससे काफ़ी तेज़ होगा।



  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. JQUERY और php पोस्ट त्रुटि 500 ​​(सर्वर आंतरिक त्रुटि)

  3. MySQL को पिछले 12 महीनों से महीने के हिसाब से मात्रा मिलती है

  4. MySQL के लिए OdbcParameter का उपयोग कैसे करें?

  5. django में नया डेटाबेस कनेक्शन कैसे बनाएं