मेरे पास BINARY(20)
की प्राथमिक कुंजी के साथ एक बहुत बड़ी तालिका है।ऑन डिप्लिकेट कुंजी अपडेट के लिए डाली गई पंक्तियों की संख्या प्राप्त करना एकाधिक डालने?
तालिका में लगभग 17 मिलियन पंक्तियां हैं। प्रत्येक घंटे एक क्रॉन नौकरी ON_DUPLICATE_KEY_UPDATE
वाक्यविन्यास के साथ इस तालिका में 50,000 नई प्रविष्टियों को सम्मिलित करने का प्रयास करती है।
cronjob में प्रत्येक डालने 1,000 मान (एकाधिक डालने) के साथ है। मैं इस क्वेरी से तालिका में डाली गई पंक्तियों की संख्या कैसे प्राप्त कर सकता हूं? मैं पहले और बाद में पंक्ति गणना नहीं कर सकता क्योंकि लगभग 17 मिलियन पंक्तियां हैं और क्वेरी बहुत महंगा है।
मैनुअल MySQL में कहते हैं के लिए एक पंक्ति सम्मिलित की पंक्तियों के प्रभावित संख्या 1
है और एक अद्यतन क्षेत्र यह 2
है, नकली चाबी अद्यतन क्वेरी पर अपने 1000 सम्मिलित में अर्थ मैं 1000 से लेकर प्रभावित पंक्तियों हो सकता था के लिए - 2000, लेकिन मेरे पास यह बताने का कोई तरीका नहीं है कि इस नंबर से कितने रिकॉर्ड डाले गए थे?
मैं इसे कैसे दूर कर सकता हूं?
धन्यवाद
मेरा गणित सबसे अच्छा नहीं है, मैं इस लॉल के चारों ओर अपना सिर नहीं प्राप्त कर सकता, मैं कुछ परीक्षण करूँगा, धन्यवाद दोस्त। – Griff
वास्तव में आप सही हैं धन्यवाद दोस्त मेरे दिन बचाया :) – Griff
यह एस्सार मानता है कि हम प्रत्येक पंक्ति के लिए या तो 1 या 2 प्राप्त करेंगे। MySQL दस्तावेज़ों से: INSERT के लिए ... डिप्लिकेट कुंजी अपडेट स्टेटमेंट्स पर, प्रति पंक्ति प्रभावित प्रभावित पंक्ति 1 है यदि पंक्ति एक नई पंक्ति के रूप में डाली जाती है, 2 यदि कोई मौजूदा पंक्ति अपडेट की जाती है, और 0 मौजूदा पंक्ति अपने वर्तमान मानों पर सेट है तो मुझे लगता है कि अगर कोई मौजूदा पंक्ति अपरिवर्तित बनी हुई है, तो हमें 0 मिल जाएगा और यह काम नहीं करेगा ..:/ – tomas