एक बात पर ध्यान देना होगा कि MySQL अपने प्रमुख भंडारण इंजनों के लिए बफ़र्स का उपयोग कैसे करता है: InnoDB और MyISAM ।
मेमोरी में कैश्ड झूठ इन स्टोरेज इंजनों के बीच बहुत भिन्न होता है।
InnoDB डेटा और इंडेक्स पेज दोनों को कैश करता है। उन्हें InnoDB बफर पूल में लोड किया गया है, जो innodb_buffer_pool_size द्वारा आकार में है ।
MyISAM केवल इंडेक्स पेजों को कैश करता है और उन्हें Key Cache (Key Buffer) में लोड किया जाता है, जिसका आकार key_buffer_size है ।
InnoDB बफ़र पूल और MyISAM कुंजी कैश को सही ढंग से आकार देने के लिए आपको डेटा और इंडेक्स साइज़ को डिस्क पर कब्जे में लेने के लिए information_schema.tables का उपयोग करना होगा ।
आपके पास कितना डेटा है और आप कितने समय की अनुमति देंगे, इसके आधार पर, आप निम्नानुसार कैश को गर्म कर सकते हैं:
हर टेबल के लिए टेबलटी
- प्रत्येक सूचकांक NDX को गोटो
- प्रत्येक सूचकांक NDX के लिए
- NDX में प्रत्येक स्तंभ का चयन करें , कम से कम एक स्तंभ तालिका में तालिका से अनुक्रमित नहीं है
ऐसा करने से आप गारंटी देते हैं कि हर डेटा और इंडेक्स पेज कम से कम एक बार पढ़ा जाता है। वे कैश में बैठेंगे। इस अवधारणा का अभ्यास, भाग में और सिद्धांत रूप में, पेरकोना द्वारा किया जाता है । पर्कोना ने इस कॉन्सेप्ट को mk-slave-prefetch में बनाया था । यह कार्यक्रम क्या करता है
- एक गुलाम पर रिले लॉग पढ़ें गुलाम इसमें एसक्यूएल प्रसंस्करण करते हैं
- रिले लॉग से एक SQL स्टेटमेंट लें और इसे WHECT, GROUP BY, और ORDER BY का उपयोग करते हुए अनुक्रमित चुनने के लिए एक गाइड के रूप में चुनें।
- परिवर्तित SQL से आए चयन कथन को निष्पादित करें
यह गुलाम को एसक्यूएल को जल्दी से संसाधित करने के लिए 99.99% डेटा की आवश्यकता होती है। यह उस स्थिति में भी दास को तैयार करता है जिसे आप दास के लिए मैन्युअल रूप से विफल कर देते हैं और इसे एक मास्टर को बढ़ावा देते हैं, जो आपके पास केवल उन सामानों के बारे में है जो आपको कभी भी प्राप्त नहीं होते हैं।
निष्कर्ष
कुछ भी नहीं है जो आपको भारी INSERTS, UPDATE और DELETE के वातावरण में उपयोग करने के लिए तैयार, तैयार और सक्षम होने के लिए तैयार करता है।
कोशिश करो !!!
चेतावनी
मेमेकैक्ड जैसे उत्पादों के जन्म के साथ, कुछ ने MySQL की उचित ट्यूनिंग करने की आवश्यकता से दूर हो गए हैं। दी गई, कई साइटें डेटा के कैशिंग व्यवहार को नियंत्रित करके प्रदान की गई डेटा पुनर्प्राप्ति में वृद्धि से लाभान्वित होती हैं क्योंकि डेवलपर्स ने जल्दी से मेमकेड के साथ देखा है। कई अन्य साइटें, बस स्टोरेज इंजन को स्विच करके या MySQL को सही ढंग से कॉन्फ़िगर करके, समान प्रदर्शन लाभ का एहसास किया है। डेटाबेस पर देने से पहले और इसे भंडार के रूप में सख्ती से उपयोग करते हुए, अपने डेटाबेस का अधिकतम लाभ उठाएं। उचित परिश्रम के माध्यम से पालन करें और आप सुखद आश्चर्यचकित हो सकते हैं कि MySQL आपके लिए क्या करेगा।