एक कॉलम के लिए एक सूचकांक बनाना है जो सारांशित किया जा रहा है कोई सूचकांक से अधिक तेज है?सूचकांक एक योग स्तंभ
उत्तर
क्षमा करें, यह स्पष्ट नहीं है कि आप क्या पूछ रहे हैं।
आप पूछ रहे हैं, यह
SELECT product, sum(quantity) FROM receipts
GROUP BY product
के रूप में एक क्वेरी जैसे तेजी लाने होगा यदि आप मात्रा पर एक सूचकांक जोड़ा?
यदि यह सवाल है, तो उत्तर नहीं है। आम तौर पर, इंडेक्स उपयोगी होते हैं जब आपको कई पंक्तियों को खोजने की आवश्यकता होती है; यहां आपको सभी पंक्तियों की आवश्यकता है, इसलिए एक सूचकांक मदद नहीं करता है।
एक अस्पष्ट अपवाद है (जो शायद ही कभी लागू होता है, अधिकांश डीबी अनुकूलक शायद इस चाल को लागू करने से परेशान नहीं हैं)। आपकी क्वेरी
SELECT sum(foo) FROM bar
, जहां foo पर एक सूचकांक है, और बार कई कॉलम के साथ एक मेज है होना करने के लिए होता है, वह पूर्ण सूचकांक में पढ़ने के लिए संभव है, अगर आप पढ़ तुलना में एक छोटे हिट उठाने अंतर्निहित तालिका, और सीधे सूचकांक से जवाब प्राप्त करें - कभी भी "असली" तालिका को छूने के लिए कभी नहीं! हालांकि, यह एक दुर्लभ मामला है, और आप यह जांचना चाहेंगे कि आपका अनुकूलक इस पर भरोसा करने से पहले ऐसा करने के लिए जानता है।
नहीं। इंडेक्स कितने चेक की आवश्यकता है सीमित करके खोजों में सुधार करते हैं। एक समग्र कार्य (गिनती, अधिकतम, न्यूनतम, योग, औसत) को कॉलम में सभी प्रविष्टियों के माध्यम से चलाने के लिए है।
लेकिन यदि वे सभी कॉलम इंडेक्स में मौजूद हैं, तो वास्तविक तालिका को एक्सेस नहीं किया जाना चाहिए, जिससे सूचकांक –
यदि आप तेजी से सारांश बनाना चाहते हैं, तो आप परिणाम को पूर्व-भौतिक बना सकते हैं। ओरेकल पर, Materialized Views का उपयोग करें, एमएस एसक्यूएल पर Indexed Views का उपयोग करें।
अपने विशिष्ट प्रश्न पर "एक स्तंभ है कि अभिव्यक्त किया जा रहा है के लिए एक सूचकांक बनाने है कोई सूचकांक की तुलना में तेजी है?", इस सवाल का जवाब नहीं।
अपने प्रश्न का उत्तर स्पेंसर्स जवाब पर स्थित है:
"एक समग्र कार्य (गिनती, अधिकतम, न्यूनतम, योग, औसत) को कॉल किए जाने वाले कॉलम में सभी प्रविष्टियों के माध्यम से चलाना पड़ता है।"
स्पेंसर के उत्तर में कॉलम के संदर्भ को स्पष्ट किया। उसका जवाब फिर भी सही है।
यदि सूचकांक कवर हो रहा है, तो यह आमतौर पर तेज़ होगा। सूचकांक में संख्या बनाम तालिका में स्तंभों की संख्या के बीच अंतर से कितनी तेजी से निर्धारित किया जाएगा। इसके अलावा, यदि फ़िल्टरिंग मानदंड हैं तो यह तेज़ हो सकता है।
चयन productid, योग (मात्रा) प्राप्तियों से कहां productid द्वारा productid = 1 ग्रुप
मेरे प्रश्नों में से एक:
मैं अनुक्रमण जब इस क्वेरी का उपयोग कर जहां में किसी स्तंभ (यहां productId) में मदद करता है पाया एक बार इंडेक्स जोड़ने के बाद 45 सेकंड से लगभग तुरंत चला गया।
एक उत्पाद आईडी के साथ, क्या आपको SELECT सूची में उत्पाद आईडी की आवश्यकता है? –
हाँ लेकिन स्क्वायरकॉग ने कहा, उत्पादक को एक इंडेक्स जोड़ने से मदद मिलती है क्योंकि आप उत्पादक के आधार पर पंक्तियां पा रहे हैं। प्रश्न, आपके मामले में, यह है कि मात्रा पर एक सूचकांक जोड़ने से मदद मिलेगी – alex9311
- 1. SQLite: संचायक (योग) एक SELECT कथन में स्तंभ
- 2. सूचियों की सूची का योग; योग सूची
- 3. RODBC: SQLUpdate() को नहीं पहचानता सूचकांक स्तंभ
- 4. एकाधिक स्तंभ सूचकांक एकाधिक इंडेक्स बनाम
- 5. एक और स्तंभ के योग पर आधारित स्तंभ का चयन करें
- 6. एक स्तंभ का मान
- 7. एक स्तंभ
- 8. एक स्तंभ
- 9. एक स्तंभ
- 10. नाम के साथ DataTable स्तंभ के सूचकांक प्राप्त
- 11. मैटलैब: स्तंभ \ पंक्ति सूचकांक जोड़े के साथ मैट्रिक्स आवंटित
- 12. Django: बनाने के सूचकांक: गैर-अद्वितीय, कई स्तंभ
- 13. ओरेकल tablename एक सूचकांक नाम
- 14. एक वर्चर पर सूचकांक?
- 15. खोज स्प्रेडशीट स्तंभ और एक अन्य स्तंभ
- 16. योग
- 17. योग
- 18. योग
- 19. योग
- 20. एसक्यूएल एक और स्तंभ की तरह एक स्तंभ पर जुड़ें
- 21. एक पंक्ति के योग मूल्य?
- 22. क्वेरी एक स्तंभ
- 23. एक्सेल: एक और स्तंभ
- 24. एक आइटम एक डेटाबेस स्तंभ
- 25. योग (DISTINCT) अन्य कॉलम
- 26. योग एकाधिक पंक्तियों
- 27. कैसे एक Lucene सूचकांक
- 28. एक सूचकांक और लंबाई
- 29. बजाय एक सूचकांक मैदान
- 30. अजगर पांडा में स्तंभ नाम से स्तंभ अनुक्रमणिका जाओ
+1 के साथ मामले के मुकाबले तेजी से योग कर रहा है क्योंकि यह इंडेक्स का एक दिलचस्प उपयोग है। – NotMe
+1 अच्छी सलाह: अनुकूलक द्वारा उत्पादित निष्पादन योजना को देखने के लिए। –
क्या यह हमेशा सच है - यह सूचकांक एसयूएम प्रदर्शन को प्रभावित नहीं कर सकता है?क्या होगा यदि हम फ़िल्टर इंडेक्स का उपयोग कर रहे हैं जहां यह इंगित करता है कि मान शून्य नहीं है? और जब हम एसयूएम को केवल विशेष मूल्यों के WHERE क्लॉज का उपयोग कर रहे हैं, तो क्या इंडेक्स मदद करेगा? – gotqn