मैंने गोपनीय रूप से एक नए डेटाबेस पर एक मरम्मत तालिका चलायी जो मैंने तेजी से reg के लिए स्थापित नहीं किया था। myisam_max_sort_file_size जो एमआईडी फ़ाइल की तुलना में बहुत छोटा था (जो 88279393280 बाईस बड़ा है, लगभग 88 जीबी)। डेटा फाइल 85 जीबी है। तालिका 1.2 बिलियन रिकॉर्ड्स है, जिसमें आईडी, दो तिथियां, एक टिनटेक्स्ट, कुछ बिगिनट्स और डबल शामिल हैं।मेरा सर्वर (विंडोज 7 के तहत एक बॉक्स में चल रहे 2 जीबी आभासी लिनक्स) केवल विंडोज सर्वर पर 4 का एक कोर है, लेकिन यह 3+ जीएचजेड चल रहा है। मैं इस बात से डर रहा था कि "कीकैच द्वारा मरम्मत" घटना हमेशा के लिए ले जाएगी - दूर छोटी टेबल के साथ डरावनी कहानियां दी गईं।
सौभाग्य से यह मरम्मत तालिका त्वरित ऑपरेशन को पूरा करने के लिए "केवल" 1 दिन, 10 घंटे और 20.72 सेकंड ले लिया।
मुझे सबसे ज्यादा याद आती है कि यह जानने का कोई तरीका है कि mysql ऑपरेशन में कितना दूर है, और यह कितनी जल्दी समाप्त हो सकता है। यह अभी भी मेरे लिए अज्ञात है।
मैंने अब अपनी my.ini फ़ाइल बदल दी है और डीएफ के साथ दोबारा जांच की है कि मेरे पास उन बड़ी अस्थायी फ़ाइलों के लिए पर्याप्त डिस्क स्थान है।
वैसे भी .. मेरा मुख्य बिंदु, जो इस जाल में आने वाले अगले व्यक्ति को बहुत उपयोगी ज्ञान हो सकता है .. वास्तव में ... घबराओ मत! यह धीमा हो सकता है, लेकिन उप-पैरा हार्डवेयर पर एक या दो दिनों के भीतर 1+ बिलियन रिकॉर्ड्स निकालने के लिए यह संभव है। तीन इंडेक्स प्राप्त हुए, एक दिनांक फ़ील्ड पर, एक बड़ा क्षेत्र पर, और आईडी फ़ील्ड पर एक प्राथमिक।
मैं इसे समाधानों में से किसी एक टिप्पणी के रूप में पोस्ट कर दूंगा, लेकिन मुझे यह नहीं लगता कि यह कैसे करें, उपयोगकर्ता इंटरफ़ेस के साथ, इसलिए मैं इसे समाधान के रूप में छोड़ दूंगा। मुझे ऊपर मत बढ़ाओ, यह सिर्फ एक नोट है कि मुझे यहां होना पसंद होता, मैं लगभग "मेरे कुंजीपटल द्वारा क्रमबद्ध" थ्रेड मारने जा रहा था क्योंकि मैंने सोचा था कि इसमें एक हफ्ते या अधिक समय लग सकता है। 2 दिन प्रति अरब रिकॉर्ड प्रबंधनीय है ..
संपादित करें: और अब, एक ही डेटाबेस पर एक मरम्मत तालिका है, लेकिन एक बड़ी पर्याप्त mysiam_max_sort_file_size सेटिंग के साथ सॉर्टिंग द्वारा मरम्मत का उपयोग करके 10 घंटे, 20 मिनट लग गए। सबसे अधिक डिस्कस्पेस का उपयोग लगभग 250 जीबी था, लेकिन मैंने myisam_max_sort_file_size को बहुत अधिक सेट किया था, यह दर्शाता है कि सर्वर पर कितनी डिस्क स्पेस वास्तव में मुक्त है।
ट्रैकिंग प्रगति कठिन है। अलग-अलग इंडेक्स बनाए गए थे, जबकि डिस्क स्पेस ऊपर और नीचे चला गया था, लेकिन घंटे के लंबे विराम थे जहां कोई बदलाव नहीं किया गया था। डिस्क स्पेस उपयोग (जैसा कि डीएफ द्वारा रिपोर्ट किया गया है)। (http://dev.mysql.com/doc/refman/5.5/en/server-system-variables.html#sysvar_myisam_max_sort_file_size)
आपको मार्कआर के जवाब को स्वीकार करना चाहिए। – Sonny