हमारे पास एक बड़ी (10,000+ लाइनें) प्रक्रिया है जो आम तौर पर 0.5-6.0 सेकंड में चलती है, यह इस बात पर निर्भर करता है कि इसके साथ कितना डेटा काम करना है। पिछले महीने में या तो हमने FULLSCAN के साथ एक आँकड़े अपडेट करने के बाद 30+ सेकंड लेना शुरू कर दिया है। जब यह धीमा हो जाता है, तो एक sp_recompile समस्या को "ठीक" कर देता है, जब तक कि रात के आंकड़े की नौकरी फिर से नहीं चलती।
धीमी और तेज़ निष्पादन योजनाओं की तुलना करके, मैंने इसे एक विशिष्ट तालिका / सूचकांक तक सीमित कर दिया है। जब यह धीमी गति से चलता है तो यह अनुमान लगा रहा है ~ 300 पंक्तियों को एक विशिष्ट सूचकांक से वापस किया जाएगा, जब यह तेजी से चलता है तो यह 1 पंक्ति का अनुमान लगाता है। जब यह धीमी गति से चलता है तो यह सूचकांक पर एक खोज करने के बाद टेबल स्पूल का उपयोग करता है, जब यह तेजी से चलता है तो यह टेबल स्पूल नहीं करता है।
DBSS SHOW_STATISTICS का उपयोग करते हुए, मैंने एक्सेल में सूचकांक हिस्टोग्राम को रेखांकन किया। मैं सामान्य रूप से ग्राफ़ को "रोलिंग हिल्स" होने की उम्मीद करूंगा, लेकिन इसके बजाय, यह एक पहाड़ जैसा दिखता है, ग्राफ़ पर अन्य अन्य मूल्यों की तुलना में उच्चतम बिंदु 2x-3x अधिक है।
अगर मैं इस पर आँकड़े अपडेट करता हूँ, तो बिना फुलस्कैन के, यह अधिक सामान्य दिखता है। अगर मैं फिर इसे फुलस्कैन के साथ चलाता हूं तो ऐसा लगता है जैसे मैंने ऊपर वर्णित किया है।
यह एक पैरामीटर सूँघने के मुद्दे की तरह लगता है, और विशेष रूप से ऊपर (प्रतीत होता है) अजीब सूचकांक वितरण से संबंधित है।
प्रॉपर्टी को टेबल वैल्यू पैरामीटर में लिया जाता है, क्या टेबुल वैल्यू पैरामीटर पर स्निफिंग पैरामीटर हो सकता है?
EDIT: खरीद में 12 अन्य पैरामीटर भी हैं, जिनमें से कुछ वैकल्पिक हैं, जिनमें से दो एक शुरुआत और अंतिम तिथि है।
हिस्टोग्राम अजीब है, या मैं गलत पेड़ को भौंक रहा हूं?
मैं निश्चित रूप से क्वेरी को समायोजित करने और / या अपनी अनुक्रमण को समायोजित करने का प्रयास करने में सहज हूं। अगर यह तय है कि महान है, उस समय मेरा सवाल तिरछा हिस्टोग्राम के बारे में अधिक है।
मुझे यह उल्लेख करना चाहिए कि यह PK IDENTITY क्लस्टर्ड इंडेक्स है। हमारे पास दो प्रणालियाँ हैं जो एक दूसरे से बात करती हैं, एक विरासत प्रणाली, एक नई घरेलू प्रणाली। दोनों सिस्टम समान डेटा को स्टोर करते हैं। नई प्रणाली में इस तालिका पर पीके को सिंक में रखने के लिए जब पुरानी प्रणाली में चीजें जोड़ी जाती हैं, तब भी वेतन वृद्धि होती है, भले ही डेटा खत्म न हो (एक रीसेट किया जाता है)। इसलिए इस कॉलम में नंबरिंग में कुछ अंतराल हो सकता है। रिकॉर्ड शायद ही कभी, हटाए गए हों।
किसी भी विचार की बहुत सराहना की जाएगी। मैं अधिक जानकारी इकट्ठा / शामिल करने के लिए खुश हूं।
ParameterCompiledValue
इन अन्य पैरामेट्स के लिए अलग-अलग पता लगाने योग्य होगा ?
RANGE_HI_KEY
संभवतया x- अक्ष पर, लेकिन y- अक्ष पर क्या है? EQ_ROWS
? RANGE_ROWS
? उन का योग?