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

वर्चर से मीडियमटेक्स्ट में बदलने से प्रदर्शन में गिरावट आती है

दो डेटाटाइप को लगभग समान रूप से नियंत्रित किया जाता है। सुस्ती के और भी कई कारण हो सकते हैं। (लेकिन मुझे पता है कि कोई भी नहीं कहेगा MEDIUMTEXT VARHAR . से भी बदतर है ।)

तो... देखते हैं कि क्या हम वेब पेज को गति दे सकते हैं...

microtime(true) Put लगाएं MySQL कॉल के आसपास - यह सुनिश्चित करने के लिए कि यह MySQL है, PHP नहीं। "0.019secs" समझ में आता है; "1.5 - 2 सेकंड" लगता है जैसे PHP में कुछ चल रहा है।

InnoDB का उपयोग करें, नहीं माईसाम। (इसके विपरीत आपके दावों के बावजूद।)

सही ढंग से ट्यून करें; आइए देखें SHOW VARIABLES LIKE '%buffer%'; आपके पास कितना रैम है? (स्वैपिंग प्रदर्शन के लिए भयानक है।)

आप कितनी पंक्तियां लौट रहे हैं? वेब पेज पर कुछ दर्जन से अधिक का होना व्यावहारिक नहीं है, इसलिए ORDER BY...LIMIT... जोड़ें ।

यदि UI सीमा 1000 वर्णों की है, तो TEXT . का उपयोग करें या VARCHAR(1000) , नहीं MEDIUMTEXT . यदि आप 64K बाइट तक बढ़ाने का प्रयास कर रहे हैं (संभावित रूप से 4K utf8mb4 अक्षर ), फिर TEXT . का उपयोग करें ।

आपको इसकी आवश्यकता है (किसी भी क्रम में कॉलम के साथ):

INDEX(part_id, language)

यदि MyISAM तालिका में बहुत सारे "मंथन" (हटाए गए और/या अपडेट के बाद अधिक आवेषण) हुए हैं, तो डेटा को खंडित किया जा सकता है, इसलिए धीमा। यह दोनों VARCHAR . के लिए हो सकता है और TEXT . InnoDB के साथ ऐसा नहीं होता है।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Yii . में एक mysql क्वेरी कैसे चलाएं

  2. मैं लैरवेल माइग्रेशन के साथ टाइमस्टैम्प कॉलम का डिफ़ॉल्ट मान वर्तमान टाइमस्टैम्प पर कैसे सेट कर सकता हूं?

  3. तालिकाएँ और पंक्तियाँ बनाने के लिए SQL स्क्रिप्ट निष्पादित करें

  4. क्या mysql_real_escape_string पर प्रत्येक कॉल को डेटाबेस के लिए एक और यात्रा की आवश्यकता होती है?

  5. इंट कॉलम से एक स्ट्रिंग को क्वेरी करना?