हां , विचारों में एक संकुल सूचकांक दिया जा सकता है और जब वे करते हैं, तो वे अस्थायी परिणाम संग्रहीत करेंगे जो परिणामस्वरूप प्रश्नों को गति दे सकते हैं।
अपडेट: इस एक पर कम से कम तीन लोगों ने मुझे वोट दिया है। पूरे सम्मान के साथ, मुझे लगता है कि वे सिर्फ गलत हैं; Microsoft के स्वयं के प्रलेखन से यह स्पष्ट हो जाता है कि दृश्य प्रदर्शन में सुधार कर सकते हैं।
सबसे पहले, सरल विचारों को जगह में विस्तारित किया जाता है और इसलिए प्रदर्शन सुधार में सीधे योगदान नहीं करते हैं - यह बहुत सच है। हालांकि, अनुक्रमित विचार नाटकीय रूप से प्रदर्शन में सुधार कर सकते हैं ।
मुझे सीधे दस्तावेज पर जाने दें:
दृश्य पर एक अद्वितीय क्लस्टर इंडेक्स बनाए जाने के बाद, दृश्य का परिणाम सेट तुरंत भौतिक रूप से भौतिक रूप से डेटाबेस में संग्रहीत रहता है, निष्पादन समय पर इस महंगा ऑपरेशन को करने के ओवरहेड को बचाता है।
दूसरा, ये अनुक्रमित विचार तब भी काम कर सकते हैं जब उन्हें सीधे किसी अन्य क्वेरी द्वारा संदर्भित नहीं किया जाता है क्योंकि उपयुक्त होने पर अनुकूलक उनका उपयोग तालिका संदर्भ के स्थान पर करेगा।
फिर, प्रलेखन:
अनुक्रमित दृश्य का उपयोग क्वेरी निष्पादन में दो तरीकों से किया जा सकता है। क्वेरी सीधे अनुक्रमित दृश्य को संदर्भित कर सकती है, या इससे भी महत्वपूर्ण बात, क्वेरी ऑप्टिमाइज़र दृश्य का चयन कर सकता है यदि यह निर्धारित करता है कि दृश्य को सबसे कम लागत वाले क्वेरी प्लान में कुछ या सभी क्वेरी के लिए प्रतिस्थापित किया जा सकता है। दूसरे मामले में, अंतर्निहित तालिकाओं और उनके साधारण अनुक्रमितों के बजाय अनुक्रमित दृश्य का उपयोग किया जाता है। क्वेरी ऑप्टिमाइज़र को क्वेरी निष्पादन के दौरान इसका उपयोग करने के लिए दृश्य को क्वेरी में संदर्भित करने की आवश्यकता नहीं है। यह मौजूदा अनुप्रयोगों को उन अनुप्रयोगों को बदलने के बिना नए बनाए गए अनुक्रमित विचारों से लाभ उठाने की अनुमति देता है।
यह प्रलेखन, साथ ही साथ प्रदर्शन सुधारों को प्रदर्शित करने वाले चार्ट यहां देखे जा सकते हैं ।
अद्यतन 2: उत्तर की आलोचना इस आधार पर की गई है कि यह "सूचकांक" है जो प्रदर्शन लाभ प्रदान करता है, न कि "दृश्य।" हालांकि, यह आसानी से मना कर दिया जाता है।
हम कहते हैं कि हम एक छोटे से देश में एक सॉफ्टवेयर कंपनी हैं; मैं उदाहरण के तौर पर लिथुआनिया का उपयोग करूंगा। हम दुनिया भर में सॉफ्टवेयर बेचते हैं और अपने रिकॉर्ड को SQL सर्वर डेटाबेस में रखते हैं। हम बहुत सफल रहे हैं और इसलिए, कुछ वर्षों में, हमारे पास 1,000,000+ रिकॉर्ड हैं। हालाँकि, हमें अक्सर कर उद्देश्यों के लिए बिक्री की रिपोर्ट करने की आवश्यकता होती है और हम पाते हैं कि हमने अपने सॉफ़्टवेयर की केवल 100 प्रतियां हमारे देश में बेची हैं। केवल लिथुआनियाई अभिलेखों का अनुक्रमित दृश्य बनाकर, हम एमएस प्रलेखन में वर्णित रिकॉर्डों को अनुक्रमित कैश में रखने की आवश्यकता पाते हैं। जब हम 2008 में लिथुआनियाई बिक्री के लिए अपनी रिपोर्ट चलाते हैं, तो हमारी क्वेरी केवल 7 की गहराई (कुछ अप्रयुक्त पत्तियों के साथ Log2 (100)) के साथ एक सूचकांक के माध्यम से खोज करेगी। यदि हम VIEW के बिना भी ऐसा ही कर रहे थे और सिर्फ एक इंडेक्स को टेबल पर निर्भर कर रहे थे, तो हमें 21 के सर्च डेप्थ के साथ एक इंडेक्स ट्री का पता लगाना होगा!
स्पष्ट रूप से, दृश्य स्वयं ही हमें सूचकांक के सरल उपयोग पर प्रदर्शन लाभ (3x) प्रदान करेगा। मैंने एक वास्तविक दुनिया उदाहरण का उपयोग करने की कोशिश की है, लेकिन आप ध्यान देंगे कि लिथुआनियाई बिक्री की एक सरल सूची हमें और भी अधिक लाभ देगी।
ध्यान दें कि मैं अपने उदाहरण के लिए सीधे बी-ट्री का उपयोग कर रहा हूं। जब मैं काफी निश्चित हूं कि एसक्यूएल सर्वर एक बी-ट्री के कुछ प्रकार का उपयोग करता है, तो मुझे इसका विवरण नहीं पता है। बहरहाल, बिंदु रखती है।
अद्यतन 3: यह सवाल सामने आया है कि क्या एक अनुक्रमणित दृश्य केवल अंतर्निहित तालिका पर रखे एक सूचकांक का उपयोग करता है। यही है, पैराफेरेस के लिए: "एक अनुक्रमित दृश्य सिर्फ एक मानक सूचकांक के बराबर है और यह एक दृश्य के लिए नया या आसान कुछ भी नहीं प्रदान करता है।" अगर यह सच था, तो उपरोक्त विश्लेषण गलत होगा! मुझे Microsoft दस्तावेज़ से एक उद्धरण प्रदान करें जो प्रदर्शित करता है कि मुझे लगता है कि यह आलोचना वैध या सत्य नहीं है:
क्वेरी प्रदर्शन को बेहतर बनाने के लिए अनुक्रमित का उपयोग करना एक नई अवधारणा नहीं है; हालाँकि, अनुक्रमित दृश्य अतिरिक्त प्रदर्शन लाभ प्रदान करते हैं जो मानक अनुक्रमित का उपयोग करके प्राप्त नहीं किया जा सकता है।
भौतिक भंडारण में डेटा की दृढ़ता और प्रलेखन में अन्य जानकारी के बारे में उपरोक्त उद्धरण के साथ साथ, दृश्य पर सूचकांक कैसे बनाए जाते हैं, मुझे लगता है कि यह कहना सुरक्षित है कि एक अनुक्रमित दृश्य सिर्फ एक कैश्ड SQL का चयन नहीं है जो एक का उपयोग करने के लिए होता है सूचकांक मुख्य तालिका पर परिभाषित किया गया है। इस प्रकार, मैं इस जवाब के साथ खड़ा हूं।