अनुप्रयोग परत (कोल्डफ्यूजन) को SQL सर्वर 2005 में कई पंक्तियों को सम्मिलित करने की आवश्यकता है।
मैं सोच रहा था एकाधिक इनपुट स्टेटमेंट के निर्माण के लिए ऐप लेयर में लूप का उपयोग करने और एक कनेक्शन में जेडीबीसी पर SQL सर्वर पर भेजना।
मेरे सहयोगी हालांकि एक्सएमएल और थोक के निर्माण के लिए एक्सएमएल के बजाय XML को सम्मिलित करने का सुझाव देते हैं।
< P> कौन सा बेहतर तरीका है?
लाखों पंक्तियों के सम्मिलन के लिए, मैंने बल्क का उपयोग किया है INSERT, एक सीएसवी फ़ाइल में डेटा लिखना जो कि SQL सर्वर आवृत्ति तक पहुंच है। यह JDBC के माध्यम से किसी भी प्रकार की प्रविष्टि को मात करता है, लेकिन कम लचीलेपन की लागत पर। छोटी छोटी पंक्तियों के लिए, जेडीबीसी के statement.addBatch ()
और स्टेटमेंट.एक्सएक्यूटबैच ()
का उपयोग करके कई छोटी आज्ञा भेजने के ओवरहेड से बचने के लिए उपयोग किया जा सकता है।
अपनी आवश्यकताओं पर निर्भर करते हुए, आपको एक लेनदेन में यह सब करना पड़ सकता है, या आप कई लेन-देन में विभाजित करने में सक्षम हो सकते हैं, यदि संपूर्ण एसेट सेट के लिए पूरी एसीआईडी गारंटी की आवश्यकता नहीं है।
यहाँ एक लेख पर चर्चा है मेरे पास किसी भी निष्कर्ष पर आधार करने के लिए कोई डेटा नहीं है, लेकिन मुझे लगता है कि बल्क INSERT पर अनुमान लगाया जाएगा कि कच्चे पंक्ति डेटा तेज़ हो जाएगा क्योंकि कोई भी OPENXML परिवर्तन आवश्यक नहीं है बेशक, यदि आपका डेटा पहले से ही एक्सएमएल में है तो यह समझ में आता है, लेकिन यदि नहीं, तो सारणीय आंकड़ों के साथ रहना संभवतः सबसे सरल है, और शायद सबसे अधिक प्रदर्शनकारी।
Comments
Post a Comment