कैसे बनाएं, सबसे पहले, मुझे इंगित करना चाहिए कि मुझे SQL सर्वर अनुक्रमणिका पर अधिक ज्ञान नहीं है।वर्चर (अधिकतम) क्वेरी प्रदर्शन में सुधार करना, और सूचकांक
मेरी स्थिति यह है कि मेरे पास एक SQL Server 2008 डेटाबेस तालिका है जिसमें एक वर्चर (अधिकतम) कॉलम आमतौर पर बहुत टेक्स्ट से भरा हुआ है।
मेरे ASP.NET वेब आवेदन एक खोज सुविधा है जो कीवर्ड खोजों के लिए इस स्तंभ प्रश्नों है, और कीवर्ड की खोज की संख्या के आधार के लिए उनके हो सकता है एक या कई की तरह '% कीवर्ड%' SQL क्वेरी में बयान खोज करने के लिए।
मेरा वेब एप्लिकेशन भी इस तालिका में कई अन्य स्तंभों द्वारा खोज की अनुमति देता है, न केवल एक कॉलम। अन्य टेबलों से भी कुछ जुड़ते हैं।
मेरा सवाल है, क्या यह खोज क्वेरी के प्रदर्शन में सुधार के लिए इस कॉलम पर एक सूचकांक बनाने योग्य है? और यदि हां, तो किस प्रकार की अनुक्रमणिका, और सिर्फ एक कॉलम को अनुक्रमणित करना पर्याप्त होगा या क्या मुझे प्राथमिक कुंजी और अन्य खोज योग्य कॉलम जैसे अन्य कॉलम शामिल करने की आवश्यकता है?
डिएगो, मेरी समझ है कि मैं एक वर्चर (अधिकतम) कॉलम पर अनुक्रमित कर सकता हूं एक गैर-क्लस्टर, ऑफ़लाइन इंडेक्स है और यह कि var (max) कॉलम शामिल है, उदाहरण के लिए। तालिका नाम (कुछ कॉलम) पर नॉनक्लस्टेड इंडेक्स इंडेक्सनाम बनाएं (VarcharMaxColumn) (ऑनलाइन = OFF) – johna
वर्कर (अधिकतम) केवल हो सकता है एक सूचकांक पर चिपकाया गया, इसका मतलब है कि केवल पत्ती के स्तर इंडेक्स पर भाग लेंगे, जिसका अर्थ यह है कि इसका उपयोग शायद खोज क्वेरी – Diego
पर किया जाएगा (ONLINE = OFF) इंडेक्स की संपत्ति नहीं है। यह इंगित करता है कि निर्माण के दौरान सूचकांक ऑफ़लाइन सेट किया जाएगा। यदि आप इसे चालू करते हैं, तो सूचकांक tempDB पर बनाया जाएगा और तालिका इंडेक्स निर्माण प्रक्रिया के दौरान पहुंच योग्य होगी। इसका उपयोग विशाल टेबल के लिए किया जाना चाहिए जहां एक इंडेक्स बनाने में काफी समय लगता है और बिल्डिंग – Diego