क्या किसी को MARS (मल्टीपल एक्टिव रिजल्ट सेट) के किसी नुकसान के बारे में पता है? क्या किसी को किसी कारण के बारे में पता है कि किसी को मार्स का उपयोग करने से बचना चाहिए, जैसे कि ऐसे मामले जहां कर्सर अधिक उपयोगी हैं।
जवाबों:
जाहिरा तौर पर कम से कम दो ज्ञात (संभावित) कमियां हैं (इसमें (1) टीम ब्लॉग ):
स्पष्ट रूप से यह किसी भी विरासत प्रणालियों के लिए संभावित समस्याएं पैदा कर सकता है जो कि एक MARS सक्षम डिजाइन के खिलाफ चलाने के लिए डिज़ाइन नहीं किए गए थे - "गैर-MARS दुनिया में चलाने के लिए अनुकूलित मौजूदा कोड, MARS के साथ अन-संशोधित चलाते समय एक मामूली प्रदर्शन डुबकी दिखा सकता है"
“MARS के साथ आप सर्वर पर कई मल्टी-स्टेटमेंट बैच भेज सकते हैं। सर्वर ऐसे बैचों के निष्पादन में हस्तक्षेप करेगा, जिसका अर्थ है कि यदि बैच SET या USE स्टेटमेंट्स के माध्यम से सर्वर स्थिति को बदलते हैं, उदाहरण के लिए, या TSQL लेनदेन प्रबंधन स्टेटमेंट (BEGIN TRAN, COMMIT, ROLLBACK) का उपयोग करें, तो आप और सर्वर दोनों भ्रमित हो सकते हैं आपके वास्तविक इरादे के बारे में क्या है। ”
मैंने अभी तक एक मार्स सक्षम डिज़ाइन को आज़माया है, लेकिन मैं अपनी वर्तमान परियोजना पर ऐसा करने के बहुत करीब आ रहा हूं। हमारे पास प्रतिस्पर्धा (और कभी-कभी आश्रित) क्वेरी संचालन (एक ही डेटाबेस से आलसी लोडिंग कॉन्फ़िगरेशन डेटा की तरह जो एक सक्रिय रिकॉर्ड निष्पादित कर रहा है) के साथ एक मामूली समस्या है।
यहाँ MSDN साइट (2) के बारे में अधिक जानकारी है
[(१) http://blogs.msdn.com/sqlnativeclient/archive/2006/09/27/774290.aspx ]
[(2)http://msdn.microsoft.com/en-us/library/ms131686.aspx ]
किस पर निर्भर करता है? कोई वास्तविक नुकसान नहीं हैं।
वे लेन-देन की बचत का समर्थन नहीं करते हैं। लेकिन मैं इसे नुकसान नहीं समझता।