2011-02-08 16 views
12

मेरे पास लगभग 17 जीबी डेटा के लिए लगभग 6500 फाइलें हैं, और यह पहली बार है कि मुझे उस स्थान को स्थानांतरित करना पड़ा जो मैं बड़ी मात्रा में डेटा कहूंगा। डेटा नेटवर्क ड्राइव पर है, लेकिन व्यक्तिगत फाइलें अपेक्षाकृत छोटी हैं (अधिकतम 7 एमबी)।एसक्यूएलबल्ककॉपी या थोक सम्मिलित करें

मैं सी # में एक प्रोग्राम लिख रहा हूं, और मैं सोच रहा था कि अगर मैं SQLBulkCopy के बजाय बल्क इन्टरेट का उपयोग करता हूं तो मुझे प्रदर्शन में महत्वपूर्ण अंतर दिखाई देगा। सर्वर पर तालिका में एक अतिरिक्त कॉलम भी है, इसलिए यदि मैं बल्क इन्टरर्ट का उपयोग करता हूं तो मुझे एक प्रारूप फ़ाइल का उपयोग करना होगा और फिर प्रत्येक पंक्ति के लिए एक अद्यतन चलाएं।

मैं फ़ोरम के लिए नया हूं, इसलिए यदि इस प्रश्न से पूछने का एक बेहतर तरीका यह भी उल्लेख करने में संकोच न करें।

उत्तर

7

परीक्षण करके, बल्क INSERT अधिक तेज है। SQLBulkCopy का उपयोग करके एक घंटे के बाद, मैं शायद अपने डेटा के माध्यम से एक चौथाई रास्ता था, और मैंने वैकल्पिक विधि (और दोपहर का भोजन) लिखना समाप्त कर दिया था। जब तक मैंने इस पोस्ट को लिखना समाप्त किया (~ 3 मिनट), बल्क इंसर्ट के माध्यम से लगभग एक तिहाई रास्ता था।

किसी भी व्यक्ति जो इसे संदर्भ के रूप में देख रहा है, यह भी उल्लेखनीय है कि अपलोड प्राथमिक कुंजी के बिना तेज़ है।

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

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