क्वेरी 1: (बिजली की तेजी)धीमी चलाने sp_executesql जब मापदंडों तर्क के रूप में पारित कर रहे हैं क्यों
sp_executesql "select * from tablesView where Id = 1"
बनाम
क्वेरी 2: (बहुत धीमी गति से)
sp_executesql "select * from tablesView where Id = @Id", N"@Id int", @Id=1
tablesView - a view containing multiple joins
LINQ हमेशा प्रश्नों को क्वेरी 2 रूप में परिवर्तित करता है और इसलिए प्रदर्शन वास्तव में खराब है।
प्रश्न: मुझे क्वेरी 2 धीमेपन के कारण की आवश्यकता है, और यदि कोई है तो कोई संकल्प। और LINQ के लिए एक प्रस्ताव।
---- अतिरिक्त टिप्पणियाँ:
प्रदर्शन हिट निश्चित रूप से 2 कॉलम जो रैंकिंग कार्य (ROW_NUMBER) का उपयोग कर रहे की वजह से है लेकिन मैं उन्हें टाल नहीं सकते मैं उन्हें जरूरत है।
आप आईडी = 1 के साथ बहुत सी पंक्तियाँ है:
वहाँ एक लेख यहाँ समझा क्या पैरामीटर सूंघने है? –
@Lasse, भले ही मेरे पास 50 रिकॉर्ड हों, अंतर बहुत बड़ा है। 0 सेकंड बनाम 10 सेकेंड की तरह, टेबल से एक चीज का चयन किया जाता है, आम तौर पर बहुत सारे जोड़ों के साथ एक दृश्य होता है। – WhoIsNinja
'आईडी' के लिए डेटाटाइप पास किया गया है? आपके पास इंडेक्स के उपयोग को रोकने पर एक निहित कास्ट हो सकता है। –