Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

इंडेक्स का उपयोग करना, अस्थायी का उपयोग करना, फाइलसॉर्ट का उपयोग करना - इसे कैसे ठीक करें?

खैर, दस्तावेज़ सटीक कारण बताता है जब "अस्थायी का उपयोग करना" दिखाई देगा:

<ब्लॉकक्वॉट>

इस तरह की शर्तों के तहत अस्थायी तालिकाएँ बनाई जा सकती हैं:

यदि कोई ORDER BY खंड और एक अलग GROUP BY खंड है, या यदि ORDER BY या GROUP BY में शामिल कतार में पहली तालिका के अलावा अन्य तालिकाओं के स्तंभ हैं, तो एक अस्थायी तालिका बनाई जाती है।

ORDER BY के साथ संयुक्त DISTINCT को एक अस्थायी तालिका की आवश्यकता हो सकती है।

यदि आप SQL_SMALL_RESULT विकल्प का उपयोग करते हैं, तो MySQL एक इन-मेमोरी अस्थायी तालिका का उपयोग करता है, जब तक कि क्वेरी में ऐसे तत्व (बाद में वर्णित) शामिल न हों जिन्हें ऑन-डिस्क संग्रहण की आवश्यकता होती है।

एक त्वरित स्कैन से पता चलता है कि आप #1 से पीड़ित हैं।

और यह ब्लॉग 2009 से कहता है कि "फाइलोर्ट का उपयोग करना" का अर्थ है कि सॉर्ट को इंडेक्स के साथ नहीं किया जा सकता है। चूंकि आप किसी गणना किए गए फ़ील्ड के अनुसार ऑर्डर कर रहे हैं, यह भी सही होगा।

तो, यही "गलत" है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. तालिका के रूप में बनाएं के साथ अन्य तालिकाओं से डेटा का चयन करके नई तालिका बनाएं

  2. MySQL जॉइन बनाम लेफ्ट जॉइन में अंतर

  3. MySQL में दिनांक स्वरूप निर्दिष्टकर्ताओं की सूची

  4. mysql मुद्रा के रूप में int का चयन करें या int को मुद्रा प्रारूप में कनवर्ट करें?

  5. MySQL केस संवेदनशील क्वेरी