मेरे पास 2 संग्रहीत प्रक्रियाएं हैं, जहां दूसरी संग्रहीत प्रक्रिया पहले एक का सुधार है।
मैं ठीक से मापने की कोशिश कर रहा हूं कि यह कितना सुधार है।
1 / मापने के clock time
रूप में मैं एक विकल्प के रूप में मुझे लगता है कि अलग निष्पादन समय नहीं लगता है। इससे भी बदतर, कभी-कभी (शायद ही कभी, लेकिन ऐसा होता है) दूसरी संग्रहीत प्रक्रिया का निष्पादन समय पहली प्रक्रिया के निष्पादन समय से बड़ा है (मुझे लगता है कि उस समय सर्वर कार्यभार के कारण)।
2 / Include client statistics
भी अलग परिणाम प्रदान करता है।
3 / DBCC DROPCLEANBUFFERS
, DBCC FREEPROCCACHE
अच्छे हैं, लेकिन एक ही कहानी ...
4 / SET STATISTICS IO ON
एक विकल्प हो सकता है, लेकिन मैं एक समग्र स्कोर कैसे प्राप्त कर सकता हूं क्योंकि मेरे पास मेरी संग्रहीत प्रक्रियाओं में शामिल कई टेबल हैं?
5 / Include actual execution plan
भी एक विकल्प हो सकता है। मुझे estimated subtreecost
पहले संग्रहीत प्रक्रिया के लिए 0.3253, और दूसरे के लिए 0.3079 मिलता है। क्या मैं कह सकता हूं कि दूसरी संग्रहीत प्रक्रिया 6% तेज (= 0.3253 / 0.3079) है?
6 / SQL सर्वर प्रोफाइलर से "रीड्स" फ़ील्ड का उपयोग करना?
तो मैं कैसे कह सकता हूं कि दूसरी संग्रहीत प्रक्रिया पहली प्रक्रिया की तुलना में x% तेज है, कोई भी निष्पादन स्थिति (सर्वर का कार्यभार, सर्वर जहां इन संग्रहीत प्रक्रियाओं को निष्पादित किया जाता है, आदि) से कोई फर्क नहीं पड़ता?
यदि यह संभव नहीं है, तो मैं कैसे साबित कर सकता हूं कि दूसरी संग्रहीत प्रक्रिया पहले संग्रहीत प्रक्रिया की तुलना में बेहतर निष्पादन समय है?