अगर आपका DELETE
. है उस तालिका की अधिकांश पंक्तियों को समाप्त करने का इरादा है, एक काम जो लोग अक्सर करते हैं वह है केवल उन पंक्तियों की प्रतिलिपि बनाना जिन्हें आप डुप्लिकेट तालिका में रखना चाहते हैं, और फिर DROP TABLE
का उपयोग करें या TRUNCATE
मूल तालिका को और अधिक तेज़ी से मिटाने के लिए।
एक अनुक्रमणिका उन पंक्तियों को ढूँढ़ने में मदद कर सकती है जिन्हें आपको हटाने की आवश्यकता है, लेकिन हटाने के लिए अनुक्रमणिका को अद्यतन करने की आवश्यकता होती है। बहुत सी पंक्तियों को हटाने के बाद, अनुक्रमणिका असंतुलित हो सकती है और इसके लिए OPTIMIZE TABLE
के साथ कुछ रखरखाव की आवश्यकता होती है ।
DATE_SUB()
फ़ंक्शन एक निरंतर अभिव्यक्ति है (यह पंक्ति दर पंक्ति भिन्न नहीं होती है) इसलिए क्वेरी ऑप्टिमाइज़र को इसे फ़ैक्टर करने और एक बार गणना करने के लिए पर्याप्त स्मार्ट होना चाहिए।
आपको प्राथमिक कुंजी के लिए अतिरिक्त अनुक्रमणिका बनाने की आवश्यकता नहीं है। प्राथमिक कुंजी बाधा परोक्ष रूप से एक इंडेक्स बनाता है जो गैर-प्राथमिक कुंजी इंडेक्स के समान लाभ देता है।
एक कंपाउंड इंडेक्स शायद सिंगल-कॉलम इंडेक्स जितना ही उपयोगी है, बशर्ते आपके खोज मानदंड इंडेक्स के सबसे बाएं कॉलम को संदर्भित करें। "शायद" चेतावनी अलग-अलग इंडेक्स नोड्स के बड़े होने के कारण है और इसलिए इंडेक्स को कैश करने में अधिक मेमोरी लगती है, लेकिन यह एक छोटा सा कारक है कि मैं एक अन्य सिंगल-कॉलम इंडेक्स नहीं बनाऊंगा।