दो डेटाटाइप को लगभग समान रूप से नियंत्रित किया जाता है। सुस्ती के और भी कई कारण हो सकते हैं। (लेकिन मुझे पता है कि कोई भी नहीं कहेगा 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 के साथ ऐसा नहीं होता है।