मेरे पास 1 9 000 000 रिकॉर्ड के साथ काफी बड़ी तालिका है, और मुझे डुप्लिकेट पंक्तियों में समस्या है। यहां SO में भी बहुत सारे प्रश्न हैं, लेकिन उनमें से कोई भी मुझे संतोषजनक उत्तर नहीं देता है। कुछ बिंदुओं पर विचार करने के लिए:बड़ी तालिका से डुप्लिकेट हटाना
- पंक्ति विशिष्टता दो कॉलम,
location_id
औरdatetime
से निर्धारित होता है। - मैं निष्पादन समय जितनी जल्दी हो सके रखना चाहता हूं (< 1 घंटा)।
- टेबल कॉपी करना बहुत व्यवहार्य नहीं है क्योंकि तालिका आकार में कई गीगाबाइट है।
- संबंधों के बारे में चिंता करने की कोई आवश्यकता नहीं है।
के रूप में कहा, हर location_id
केवल एक विशिष्ट datetime
हो सकता है, और मैं सभी डुप्लिकेट निकालते रहें करना चाहते हैं। इससे कोई फर्क नहीं पड़ता कि उनमें से कौन सा जीवित रहता है, क्योंकि डेटा समान है।
कोई विचार?
अस्थायी रूप से अनुक्रमित करने के लिए विचार करें, अगर मौजूद है तो ट्रिगर्स। – Pentium10
http://stackoverflow.com/questions/1585412/sql-to-delete-duplicate-records-in-a-table में दिए गए दृष्टिकोण के साथ क्या गलत था? – Mike
@ पेंटियम 10, अच्छा बिंदु, चीजों को गति दे सकता है, लेकिन यदि मैं सबक्वायरी समाधान के माध्यम से जाता हूं तो प्रदर्शन भी मार सकता है। –