T-SQL में एक कर्सर को दो तरह से घोषित किया जा सकता (है कि मैं के बारे में पता):लाभ (@cn कर्सर घोषित)
declare CursorName cursor for ...
declare @CursorName cursor
मैं कुछ परीक्षण चला रहा था और मुझे पता चला कि एक कर्सर चर का निर्माण sp_cursor_list
के परिणाम में कोई प्रविष्टि नहीं जोड़ देगा।
प्रदर्शन, संसाधन उपयोग आदि के दृष्टिकोण से दूसरे दृष्टिकोण का उपयोग करने पर कोई लाभ/हानि है?
पीएस: मुझे संभावित कर्सर प्रदर्शन के मुद्दों के बारे में पता है। मैं कर्सर बनाम सेट पर आधारित तुलना करने के लिए नहीं कह रहा हूं। या कर्सर बनाम while
temp/table variable के साथ।
यदि प्रदर्शन एक विचार है, तो आप शायद का उपयोग नहीं किया जाना चाहिए :) – JNK
यदि आप कोड या एक्सएमएल पोस्ट करते हैं, ** कृपया ** टेक्स्ट एडिटर में उन पंक्तियों को हाइलाइट करें और संपादक टूलबार पर "कोड" बटन (101 010) पर क्लिक करें ताकि इसे अच्छी तरह प्रारूपित किया जा सके और इसे हाइलाइट किया जा सके! –
यदि आपको ** कर्सर का उपयोग करना होगा, तो मैं हमेशा 'DECLARE कर्सर_नाम CURSOR FAST_FORWARD' का उपयोग करने का प्रयास करता हूं यदि मैं कभी भी कर सकता हूं। लेकिन यदि संभव हो तो कर्सर से बचने के लिए आपका सबसे अच्छा प्रदर्शन अनुकूलन वास्तव में होगा। –