यह वास्तव में django विशिष्ट नहीं है; डेटाबेस के साथ और अधिक करने के लिए। जब आप उस कॉलम पर खोज तेज करना चाहते हैं तो आप कॉलम पर इंडेक्स जोड़ते हैं।
आमतौर पर, केवल प्राथमिक कुंजी डेटाबेस द्वारा अनुक्रमित किया जाता है। इसका मतलब है कि प्राथमिक कुंजी का उपयोग करके लुकअप अनुकूलित हैं।
यदि आप द्वितीयक कॉलम पर बहुत सारे लुकअप करते हैं, तो चीजों को गति देने के लिए उस कॉलम में एक इंडेक्स जोड़ने पर विचार करें।
ध्यान रखें, स्केल की अधिकांश समस्याओं की तरह, ये केवल तभी लागू होते हैं जब आपके पास सांख्यिकीय रूप से बड़ी संख्या में पंक्तियां हों (10,000 बड़ी नहीं है)।
इसके अतिरिक्त, हर बार जब आप कोई सम्मिलित करते हैं, तो अनुक्रमणिका को अद्यतन करने की आवश्यकता होती है। इसलिए सावधान रहें कि आप किस कॉलम को इंडेक्स जोड़ते हैं।
हमेशा के रूप में, आप केवल माप सकते हैं कि आप क्या माप सकते हैं - इसलिए EXPLAIN
कथन और अपने डेटाबेस लॉग (विशेष रूप से किसी भी धीमी क्वेरी लॉग) का उपयोग यह पता लगाने के लिए करें कि इंडेक्स कहां उपयोगी हो सकते हैं।
स्रोत
2013-02-09 08:52:03
इससे मदद मिल सकती है (बहुत कुछ) https://github.com/django-debug-toolbar/django-debug-toolbar#django-debug-toolbar – maazza
इंडेक्स भी सॉर्टिंग को तेज कर सकते हैं। [यह आलेख] (http://sqlmag.com/database-performance-tuning/indexing-sort-performance) एमएस एसक्यूएल सर्वर के बारे में है लेकिन यह किसी भी डेटाबेस के लिए जाता है। – Nick