में एक ही कॉल किया जाता है तो एक एसक्यूएल फ़ंक्शन को .NET ऐप बनाम कहा जाता है, तो प्रदर्शन अंतर क्यों होते हैं। हमें हमारे परीक्षण और देव वातावरण में एक समस्या होती है जो कई बार धीरे-धीरे चलती है एक नेट आवेदन से। जब हम सीधे प्रबंधन स्टूडियो से इस फ़ंक्शन को कॉल करते हैं तो यह ठीक काम करता है।जब प्रदर्शन स्टूडियो
यहाँ मतभेद जब वे प्रोफाइल रहे हैं: आवेदन से:
सीपीयू: 906
पुस्तकें: 61853
लिखता है: 0
अवधि: 926
SSMS से:
सीपीयू: 15
पढ़ता है: 11243
लिखते हैं: 0
अवधि: 31
अब हमने यह निर्धारित किया है कि जब हम फ़ंक्शन को पुन: संकलित करते हैं तो प्रदर्शन जो हम उम्मीद कर रहे हैं उस पर प्रदर्शन देता है और जब हम एसएसएमएस से इसे चलाते हैं तो हमें जो मिलता है उससे मेल खाता है। यादृच्छिक अंतराल पर दिखाई देने पर यह फिर से धीमा हो जाएगा।
हमने इसे प्रोड में नहीं देखा है लेकिन वे कुछ हद तक हो सकते हैं क्योंकि साप्ताहिक आधार पर सबकुछ फिर से इकट्ठा किया जाता है।
तो इस तरह के व्यवहार का कारण क्या हो सकता है?
संपादित करें -
हम अंत में यह और varables पैरामीटर सूंघने से निपटने के लिए पुनर्गठन चाल ... क्या हम यहाँ किया था का एक टुकड़ा किया है प्रकट होता है से निपटने के लिए सक्षम थे: धन्यवाद आपकी मदद के लिए।
-- create set of local variables for input parameters - this is to help performance - vis a vis "parameter sniffing"
declare @dtDate_Local datetime
,@vcPriceType_Local varchar(10)
,@iTradingStrategyID_Local int
,@iAccountID_Local int
,@vcSymbol_Local varchar(10)
,@vcTradeSymbol_Local varchar(10)
,@iDerivativeSymbolID_Local int
,@bExcludeZeroPriceTrades_Local bit
declare @dtMaxAggregatedDate smalldatetime
,@iSymbolID int
,@iDerivativePriceTypeID int
select @dtDate_Local = @dtDate
,@vcPriceType_Local = @vcPriceType
,@iTradingStrategyID_Local = @iTradingStrategyID
,@iAccountID_Local = @iAccountID
,@vcSymbol_Local = @vcSymbol
,@vcTradeSymbol_Local = @vcTradeSymbol
,@iDerivativeSymbolID_Local = @iDerivativeSymbolID
,@bExcludeZeroPriceTrades_Local = @bExcludeZeroPriceTrades
वास्तविक कोड पोस्ट करें ... – gbn
हम पैरामीटर स्नीफिंग समाधान में देखने जा रहे हैं। इस आलेख ने इसका एक बहुत अच्छा स्पष्टीकरण दिया और इसे कैसे हल किया। http://elegantcode.com/2008/05/17/sql-parameter-sniffing-and-what-to-do-about-it/ –