साथ (आईडी के आधार पर) 2100 से अधिक पंक्तियों को हटाने का सही विधि मैं अपने सर्वर अनुप्रयोग के लिए Dapper समर्थन मेरे डेटा का उपयोग का उपयोग करने की कोशिश कर रहा हूँ।डैप्पर
मेरे सर्वर ऐप में एक और एप्लीकेशन है जो 400 मिनट प्रति मिनट की दर से मेरे डेटाबेस में रिकॉर्ड छोड़ देता है।
मेरे एप्लिकेशन उन्हें, बैचों में बाहर खींचती उन्हें संसाधित करता है, और फिर उन्हें डेटाबेस से हटा देता है।
के बाद से डेटा डेटाबेस में प्रवाह करने के लिए जब मैं प्रसंस्करण कर रहा हूँ जारी है, मैं एक अच्छा तरीका delete from myTable where allProcessed = true
कहने के लिए नहीं है।
हालांकि, मुझे पता लगाने के लिए पंक्तियों का पीके मान पता है। तो मैं delete from myTable where Id in @listToDelete
समस्या यह है कि यदि मेरा सर्वर 6 मिनट तक भी नीचे चला जाता है, तो मेरे पास 2100 से अधिक पंक्तियां हटाना है।
के बाद से साफ-सुथरी मेरी @listToDelete लेता है और एक पैरामीटर में हर एक को बदल जाता है, को नष्ट करने के लिए अपने कॉल विफल रहता है। (यहां तक कि आगे पीछे पाने के लिए शुद्धिकरण अपने डेटा के कारण।)
डैप्पर में इस समस्या से निपटने का सबसे अच्छा तरीका क्या है?
नोट्स: मैंने टेल्ड वैल्यूड पैरामीटर्स को देखा है लेकिन जो मैं देख सकता हूं, वे performant नहीं हैं। मेरे आर्किटेक्चर का यह टुकड़ा मेरे सिस्टम की बोतल गर्दन है और मुझे बहुत बहुत तेज होना चाहिए।
@marc_s - मुझे ** कई पैरामीटर पास करने के लिए ** ** की आवश्यकता नहीं है ... लेकिन मुझे पीके आईडी द्वारा कई पंक्तियों को हटाने की आवश्यकता है। हालांकि मैं करता हूं कि यह मेरे द्वारा ठीक है। मैं अपनी '@ सूची' में हर पंक्ति को हटाने के लिए डैपर को बता रहा हूं। यह डैपर है जो मेरी सूची में प्रत्येक आइटम के पैरामीटर बना रहा है। – Vaccano
इस छोटी जानकारी से बताना मुश्किल है, लेकिन आप हटाए जाने के लिए अपने मानदंड के रूप में बैच के लिए टीएच चयन मानदंड का उपयोग क्यों नहीं कर सकते हैं। या MyTable में एक संसाधित ध्वज है, इसे "प्रसंस्करण" में सेट करें और उसके बाद इसका उपयोग करें। यह ब्रिल नहीं है, लेकिन यह एक-एक करके उन्हें हटाने से बहुत तेज़ होगा। 10,000 रिकॉर्ड के साथ भी यह चौंकाने वाला नहीं होगा। –
मेरा बैच मानदंड बहुत प्रदर्शन नहीं करता है। तो मैं इसका उपयोग नहीं करना पसंद करूंगा। मैं एक संसाधित ध्वज जोड़ सकता हूं, लेकिन ऐसा करने के लिए मुझे संसाधित ध्वज जोड़ने के लिए पंक्तियों को कॉल करने का एक तरीका चाहिए। अगर मैं उन्हें बुला सकता हूं, तो मैं उन्हें भी हटा सकता हूं। (मैं चुनने के लिए एक झंडा जोड़ सकता हूं, चुनिंदा समय पर "बैच"। लेकिन मैं नहीं चाहूंगा।) – Vaccano