कोई अनुक्रमणिका नहीं चूसती है, लेकिन आपको ध्यान देना होगा कि आप उनका उपयोग कैसे करते हैं या वे आपके प्रश्नों के प्रदर्शन पर बैकफायर कर सकते हैं।
पहले: स्कीमा/डिजाइन
क्यों आप केवल एक स्तंभ के साथ एक मेज बनाएंगे? शायद यह एक कदम दूर सामान्यीकरण ले रहा है। डेटाबेस डिजाइन सबसे महत्वपूर्ण बातें प्रदर्शन
दूसरा अनुकूलन में विचार करने के लिए में से एक है: इंडेक्स
संक्षेप में अनुक्रमित डेटाबेस में मदद मिलेगी अपने रिकॉर्ड के एक द्विआधारी खोज करने के लिए। कॉलम (या स्तंभों के सेट) पर किसी इंडेक्स के बिना डेटाबेस अक्सर टेबल स्कैन पर वापस आ जाएगा। एक टेबल स्कैन बहुत महंगा है क्योंकि इसमें प्रत्येक रिकॉर्ड को गिनती करना शामिल है।
यह वास्तव में कोई फर्क नहीं पड़ता कि इंडेक्स स्कैन के लिए डेटाबेस तालिका में कितने रिकॉर्ड हैं। (संतुलित) बाइनरी पेड़ की खोज के कारण रिकॉर्ड की मात्रा दोगुनी हो जाएगी केवल एक अतिरिक्त खोज चरण में परिणाम होगा।
अपनी तालिका की प्राथमिक कुंजी निर्धारित करें, एसक्यूएल स्वचालित रूप से उस कॉलम पर क्लस्टर्ड इंडेक्स रखेगा। क्लस्टर्ड इंडेक्स वास्तव में अच्छा प्रदर्शन करते हैं। इसके अतिरिक्त आप कॉलम पर गैर-क्लस्टर इंडेक्स रख सकते हैं जो अक्सर चयन, जॉइन, कहां, ग्रुप बाय और ऑर्डर द्वारा ऑर्डर में उपयोग किए जाते हैं। याद रखें कि इंडेक्स के पास एक निश्चित ओवरलैप है, कभी भी अपने क्लस्टर्ड इंडेक्स को गैर-क्लस्टर इंडेक्स में शामिल करने का प्रयास न करें।
भी दिलचस्प इंडेक्स पर भरने वाला कारक हो सकता है। क्या आप अपनी तालिका को पढ़ने के लिए अनुकूलित करना चाहते हैं (उच्च भरने वाला कारक - कम भंडारण, कम आईओ) या लिखने के लिए (कम भरने वाला कारक अधिक संग्रहण, आपके डेटाबेस पृष्ठों को कम पुनर्निर्माण)।
तीसरा: विभाजन
कारणों विभाजन का उपयोग करने में से एक अपने डेटा का उपयोग का अनुकूलन है। मान लें कि आपके पास 1 मिलियन रिकॉर्ड हैं जिनमें से 500,000 रिकॉर्ड अब प्रासंगिक नहीं हैं बल्कि संग्रह उद्देश्यों के लिए संग्रहीत हैं। इस मामले में आप तालिका को विभाजित करने और धीमी भंडारण पर 500,000 पुराने रिकॉर्ड और फास्ट स्टोरेज पर अन्य 500,000 रिकॉर्ड स्टोर करने का निर्णय ले सकते हैं।
को मापने के लिए
पता करने के लिए क्या होता है को मापने के लिए क्या अपने CPU और कब होता है में जानकारी पाने के लिए सबसे अच्छा तरीका है। माइक्रोसॉफ्ट एसक्यूएल सर्वर में प्रबंधन स्टूडियो में प्रोफाइलर और निष्पादन योजनाओं जैसे कुछ टूल्स हैं जो आपको आपकी क्वेरी की अवधि, पढ़ने/लिखने और सीपीयू उपयोग की अवधि बताएंगे। इसके अलावा निष्पादन योजना आपको बताएगी कि कौन से या अगर इंडेक्स का उपयोग किया जा रहा है। आपके आश्चर्य के लिए आपको एक टेबल स्कैन दिखाई दे सकता है हालांकि आपने इसकी अपेक्षा नहीं की थी।
इंडेक्सिंग प्रभाव वही होगा, लेकिन जब आप दूसरी अनुक्रमणिका चाहते हैं तो क्या होगा? –