यह this question के रूप में शुरू हुआ लेकिन अब विशेष रूप से अधिक उचित रूप से पूछा जाता है क्योंकि मुझे एहसास हुआ कि यह एक डीटीयू संबंधित प्रश्न है।सरल चयन गिनती (आईडी) Azure SQL DTUs का 100% उपयोग करता है
मूल रूप से, चल रहा है:
select count(id) from mytable
संपादित करें: जहां खंड मदद करने के लिए प्रतीत नहीं होता है एक जोड़ा जा रहा है।
लेने है 8 और 30 मिनट के बीचचलाने के लिए (जबकि एसक्यूएल सर्वर की स्थानीय प्रतिलिपि पर समान क्वेरी बारे में 4 सेकंड लेता है)।
नीचे यह प्रश्न चलाने पर Azure पोर्टल में मॉनीटर टैब का स्क्रीन शॉट नीचे दिया गया है। नोट मैंने डेटाबेस को लगभग एक हफ्ते तक छूने के बाद ऐसा नहीं किया और Azure रिपोर्टिंग मैंने केवल अपने डीटीयू का 1% उपयोग किया था।
अतिरिक्त योग्य कुछ बातें: चलाने के लिए 27s:
- इस विशेष परीक्षण में, क्वेरी ले लिया 08।
- यह चल रहा था, उपरोक्त चार्ट वास्तव में एक अवधि के लिए डीटीयू लाइन 100% पर दिखाया।
- डेटाबेस एस 1 प्रदर्शन स्तर के साथ मानक सेवा स्तर को कॉन्फ़िगर किया गया है।
- डेटाबेस लगभग 3.3 जीबी है और यह सबसे बड़ी तालिका है (गणना लगभग 2,000,000 लौट रही है)।
मैं यह सिर्फ मेरी समझ सीमित हो सकता है, लेकिन अगर अगर यह वास्तव में अपेक्षित व्यवहार (अर्थात एक सरल गिनती इतने लंबे समय ले रही है चलाने के लिए और मेरे DTUs बाहर maxing) यह बहुत सराहना की जाएगी है किसी को स्पष्ट कर सकते सराहना करते हैं।
मूल प्रश्न में दिए गए उत्तरों में पहले से ही क्या होता है। "सरल" गणना वास्तव में महंगी होती है, महंगी होती है और उसे पूरी तालिका को स्कैन करना पड़ता है। * ऐसा मत करो *। यदि आपके पास एक WHERE क्लॉज था जो अनुक्रमित फ़ील्ड का उपयोग करता है तो ऑप्टिमाइज़र इंडेक्स सेक ऑपरेशन का उपयोग करेगा जिसके परिणामस्वरूप बेहतर प्रदर्शन होगा। एक खोज कुल गणना (यानी बहुत कम आईओ, बेहतर गति) की गणना करने से पहले मिलान पंक्तियों को खोजने के लिए सूचकांक बी-ट्री को पढ़ती है। यदि आप उच्च चयन वाले क्षेत्र का उपयोग करते हैं तो आपको बहुत कम सूचकांक पृष्ठ पढ़ना होगा। –
बस एफटीआर, 'सरल' गिनती नहीं है - यह मुझे अलग-अलग कहां के साथ/बिना करने की ज़रूरत है। – chrisb
क्या आपने कभी एक संतोषजनक उत्तर प्राप्त किया है कि यह क्यों हो रहा है? मैं 550 मिलीग्राम पंक्तियों की एक तालिका के साथ एक 127 जीबी डेटाबेस पर एस 2 (50 डीटीयू) के साथ एक ही चीज़ देखता हूं, और गिनती (1) एक घंटे के करीब ले जाती है। –