2012-10-30 9 views
7

मैं पढ़ रहा है कि SqlDataReaders उनके तेजी से आगे, केवल पढ़ने के लिए, एक-पंक्ति-में-एक-समय जुड़े स्वभाव की वजह से SqlDataAdapters तुलना में बहुत तेज हैं, और वे SqlDataAdapters से विशेष रूप से तेजी से कर रहे हैं कि जब एक DataTable ऑब्जेक्ट को भरने के लिए (रखना SqlDataAdapter.Fill (DataTable))।SqlDataAdapter आंतरिक रूप से एक डेटा पाठक का उपयोग करता है, तो क्यों करते हैं लोग कहते हैं कि एक SqlDataReader का उपयोग कर तेजी से होता है?

हालांकि, यहाँ और वहाँ किसी को उल्लेख होगा "यह शायद इसलिए है SqlDataAdapter आंतरिक रूप से एक डेटा पाठक का उपयोग करता है अपने तालिका भरने के लिए आप क्या उपयोग एक फर्क नहीं होंगे।" यदि यह सत्य है, तो एडाप्टर कितना धीमा हो सकता है यदि यह किसी आंतरिक डेटा रीडर का उपयोग करके डेटाबेस के साथ संचार कर रहा है?

मुझे पता है कि मैं कुछ परीक्षणों को स्थापित कर सकता हूं और प्रत्येक के प्रदर्शन को प्रोफाइल कर सकता हूं, लेकिन किसी को भी कथित प्रदर्शन विसंगतियों पर कुछ प्रकाश डालने के लिए जो चाहिए, अगर हम अनिवार्य रूप से उसी प्रक्रिया से निपट रहे हैं मार्ग।

मैं समझता हूँ कि आप आमतौर पर है कि सिर्फ एक मेज भरता डेटा एडाप्टर के विपरीत दृढ़ता से टाइप Pocos की एक सूची बनाने के लिए एक पाठक का उपयोग करेंगे। हालांकि, मेरा प्रश्न दो और ओ/आरएम चिंताओं के बीच प्रदर्शन अंतर के विवरण के बारे में सख्ती से है ...

उत्तर

5

यदि आप डेटा रीडर का उपयोग कर रहे हैं, तो आप पहली पंक्ति पढ़ने और यहां तक ​​कि उपेक्षा करते समय कुछ जानकारी पर प्रतिक्रिया दे सकते हैं बाकी पढ़ने।

यदि आप डेटा एडाप्टर का उपयोग कर रहे हैं, तो आपको पहले टेबल और लोड करना होगा, फिर उसी पंक्ति पर प्रतिक्रिया करने के लिए पहली पंक्ति पढ़ें।

+0

सहेज ली गई हैं, लेकिन मैं कुछ हालत के लिए प्रत्येक पंक्ति की जांच की जरूरत नहीं है, तो क्या? दूसरे शब्दों में, क्या होगा यदि मैं ग्रिड व्यू को पॉप्युलेट करने के लिए रिकॉर्ड के पूरे सबसेट को पुनः प्राप्त करने में रूचि रखता हूं? – bglee

+1

@bglee आपको अपने स्रोत को साइट पर रखना होगा कि आपको लगता है कि DataReader डेटा परिदृश्य * से सभी परिस्थितियों में तेज क्यों है *। डेटा तक पहुंचने के लिए वे सिर्फ अलग-अलग टूल्स हैं। डेटा एडाप्टर भारी वस्तुएं हैं क्योंकि वे डेटा के साथ बहुत अधिक चीजें कर सकते हैं, जैसे अपडेट करना, हटाना आदि। – LarsTech

संबंधित मुद्दे

 संबंधित मुद्दे