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

तालिका '/tmp/#sql_3c51_0.MYI' के लिए गलत कुंजी फ़ाइल इसे सुधारने का प्रयास करें

समस्या /tmp फ़ोल्डर में डिस्क स्थान की कमी के कारण होती है। /tmp वॉल्यूम का उपयोग उन प्रश्नों में किया जाता है जिनके लिए अस्थायी तालिकाएँ बनाने की आवश्यकता होती है। ये अस्थायी तालिकाएँ MyISAM प्रारूप में हैं, भले ही क्वेरी केवल InnoDB वाली तालिकाओं का उपयोग कर रही हो।

यहां कुछ समाधान दिए गए हैं:

  • क्वेरी को ऑप्टिमाइज़ करें ताकि यह अस्थायी टेबल न बनाए (क्वेरी को फिर से लिखें, इसे कई क्वेरी में विभाजित करें, या उचित इंडेक्स जोड़ें, pt-query-digest और EXPLAIN <query> ) इसे देखें अस्थायी तालिकाओं के बारे में पेरकोना लेख
  • MySQL को ऑप्टिमाइज़ करें ताकि यह अस्थायी टेबल (sort_buffer_size, join_buffer_size) नहीं बनाए। देखें:https://dba.stackexchange.com/questions/53201/mysql-creates-temporary-tables-on-disk-how-do-i-stop-it
  • तालिकाओं को छोटा करें। यदि संभव हो तो अनावश्यक पंक्तियों को हटा दें
  • SELECT table1.col1, table2,col1 ... . का उपयोग करें इसके बजाय select * केवल उन स्तंभों का उपयोग करने के लिए जिनकी आपको क्वेरी में आवश्यकता है, छोटी अस्थायी तालिकाएँ बनाने के लिए
  • कम जगह लेने वाले डेटा प्रकारों का उपयोग करें
  • उस वॉल्यूम पर अधिक डिस्क स्थान जोड़ें जहां /tmp फ़ोल्डर रहता है
  • अस्थायी फ़ोल्डर उपयोगकर्ता को mysql द्वारा TMPDIR सेट करके बदलें mysqld स्टार्ट-अप से पहले पर्यावरण चर। प्वाइंट TMPDIR डिस्क वॉल्यूम पर एक फ़ोल्डर के लिए जिसमें अधिक खाली स्थान है। आप tmpdir . का भी उपयोग कर सकते हैं /etc/my.cnf . में विकल्प या --tmpdir mysqld सेवा की कमांड लाइन में। देखें:B.5.3.5 जहां MySQL अस्थायी फ़ाइलें संग्रहीत करता है


  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. SQL का उपयोग करके SUM और SUBTRACT कैसे करें?

  3. mySQL GROUP_CONCAT कथन में एक आंतरिक जुड़ाव जोड़ें

  4. क्या जुनीट परीक्षण मामलों के लिए MySQL इन-मेमोरी चलाने का कोई तरीका है?

  5. MySQL - क्या मैं किसी क्वेरी को चलाने के लिए अनुमत अधिकतम समय को सीमित कर सकता हूँ?