हाय मैं एक प्रोजेक्ट काम कर रहा हूं जहां हमें दिन में एक बार कई एक्सएमएल फाइलों को संसाधित करने की आवश्यकता होती है और उन फ़ाइलों में निहित जानकारी के साथ डेटाबेस को पॉप्युलेट करना पड़ता है।NHibernate थोक डालने या अद्यतन
प्रत्येक फ़ाइल लगभग 1 एमबी है और इसमें लगभग 1000 रिकॉर्ड हैं; हमें आमतौर पर इन फ़ाइलों में से 12 और 25 के बीच प्रक्रिया करने की आवश्यकता होती है। मैंने NHibernate का उपयोग करके थोक प्रविष्टियों के बारे में कुछ जानकारी देखी है, लेकिन हमारी समस्या किसी भी तरह की चाल है क्योंकि एक्सएमएल फाइलों में अद्यतन रिकॉर्ड के साथ नए रिकॉर्ड शामिल हैं।
एक्सएमएल में एक ध्वज है जो हमें बताता है कि एक विशिष्ट रिकॉर्ड एक नया रिकॉर्ड है या मौजूदा रिकॉर्ड में अपडेट है, लेकिन यह नहीं कि कौन सी जानकारी बदल गई है। एक्सएमएल रिकॉर्ड में हमारे डीबी पहचानकर्ता नहीं होते हैं, लेकिन हम अपने डीबी में रिकॉर्ड को विशिष्ट रूप से पहचानने के लिए एक्सएमएल रिकॉर्ड से पहचानकर्ता का उपयोग कर सकते हैं।
हमारी रणनीति अब तक पहचानने के लिए है कि वर्तमान रिकॉर्ड एक सम्मिलन या अद्यतन है या नहीं, इसके आधार पर हम या तो डीबी पर एक सम्मिलित करते हैं या हम एक खोज करते हैं, फिर हम ऑब्जेक्ट पर जानकारी को अपडेट करते हैं एक्सएमएल रिकॉर्ड से आने वाली जानकारी और आखिर में हम डीबी पर अपडेट करते हैं।
हमारे वर्तमान दृष्टिकोण के साथ समस्या यह है कि हमें डीबी ताले के साथ समस्याएं हैं और हमारा प्रदर्शन वास्तव में तेज़ हो जाता है। हमने कुछ विकल्पों के बारे में सोचा है जैसे कि अलग-अलग परिचालनों के लिए अलग-अलग टेबल या यहां तक कि अलग डीबी के लिए अलग-अलग तालिकाओं के बारे में सोचा है, लेकिन इस तरह के कदम से ऐसा करने का एक बड़ा प्रयास होगा, इससे पहले कि मैं इस मामले पर समुदाय की राय के लिए पूछना चाहूंगा, अग्रिम धन्यवाद।