मेरे पास कई कॉलम के साथ डेटाबेस तालिका है; उनमें से अधिकतर VARCHAR(x)
टाइप कॉलम हैं, और इनमें से कुछ कॉलम पर एक इंडेक्स है ताकि मैं इसके अंदर डेटा के लिए जल्दी से खोज कर सकूं।एसक्यूएल सर्वर; टेक्स्ट कॉलम पर सूचकांक
हालांकि, कॉलम में से एक TEXT
कॉलम है, क्योंकि इसमें बहुत बड़ी मात्रा में डेटा (सादा एसीसीआई टेक्स्ट के 23 केबी) शामिल हैं। मैं उस कॉलम में खोज करने में सक्षम होना चाहता हूं (... WHERE col1 LIKE '%search string%'...
), लेकिन वर्तमान में यह क्वेरी करने के लिए हमेशा के लिए ले रहा है। मुझे पता है कि इस कॉलम खोज के कारण क्वेरी धीमी है क्योंकि जब मैं WHERE
खंड से उस मानदंड को हटाता हूं तो क्वेरी पूर्ण हो जाती है (जिसे मैं मानता हूं) तत्काल।
मैं इस कॉलम पर एक इंडेक्स नहीं जोड़ सकता क्योंकि SQL सर्वर प्रबंधन स्टूडियो में इंडेक्स बिल्डर/विज़ार्ड में उस कॉलम के लिए वह विकल्प ग्रे हो गया है।
उस कॉलम में क्वेरी खोज को तेज़ करने के लिए यहां मेरे विकल्प क्या हैं?
आपके समय के लिए धन्यवाद ...
अद्यतन
ठीक है, तो मैं पूर्ण पाठ खोज में देखा है और वह सब सामान किया था, और अब मैं प्रश्नों को चलाने के लिए चाहते हैं। हालांकि, "इसमें" उपयोग करते समय, यह केवल एक शब्द स्वीकार करता है; अगर मुझे एक सटीक वाक्यांश की आवश्यकता है तो क्या होगा? ... WHERE CONTAINS (col1, 'search phrase') ...
एक त्रुटि फेंकता है।
क्षमा करें, मैं एसक्यूएल सर्वर के लिए नया हूँ
अद्यतन 2 खेद, बस इसे लगा बाहर; एकाधिक शब्दों के साथ एक खंड के बजाय एकाधिक "शामिल" खंडों का उपयोग करें। असल में, यह अभी भी मुझे जो चाहिए (सटीक वाक्यांश) नहीं मिलता है, यह केवल यह सुनिश्चित करता है कि वाक्यांश में सभी शब्द मौजूद हैं।
+1: पूर्ण-पाठ जाने का तरीका है - निश्चित रूप से! –
लिंक अब और काम नहीं कर रहा है। यदि संभव हो तो कृपया ठीक करें! – Andreas
लिंक अब –