मुझे किसी तालिका से लगभग 10K पंक्तियां हटाना है जिसमें कुछ मानदंडों के आधार पर 100 मिलियन से अधिक पंक्तियां हैं। जब मैं क्वेरी निष्पादित करता हूं, इसमें लगभग 5 मिनट लगते हैं। मैंने एक व्याख्या योजना (delete
क्वेरी select *
में परिवर्तित की है क्योंकि MySQL explain delete
का समर्थन नहीं करता है) और पाया कि MySQL गलत अनुक्रमणिका का उपयोग करता है।MySQL, हटाएं और अनुक्रमणिका संकेत
मेरा प्रश्न है: क्या MySQL को बताने के दौरान उपयोग करने के लिए कोई अनुक्रमणिका है? यदि नहीं, तो मैं क्या करूँ? अस्थायी तालिका का चयन करें, फिर temp तालिका से हटा दें?
सुनिश्चित करें कि आपके पास प्राथमिक कुंजी है और आपके डिलीट के WHERE खंड में नामित कॉलम अनुक्रमित है। –