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

MyISAM की तुलना में पूर्ण तालिका स्कैन में MySQL InnoDB इतना धीमा क्यों है?

आपके कॉन्फ़िगरेशन के साथ मेरे सर्वर पर मेरा आधार प्रदर्शन इस प्रकार है:

  • InnoDB:5.71s
  • MyISAM:2.50s

यह बुरा नहीं है मेरी किताब में, लेकिन यह कुछ बदलाव का उपयोग कर सकता है।

आपके InnoDB प्रदर्शन को कई मोर्चों पर बेहतर बनाया जा सकता है:

बढ़ाएं innodb_buffer_pool_size

  • यह सबसे महत्वपूर्ण InnoDB कॉन्फ़िगरेशन चर है। आदर्श रूप से यह MySQL और . को समर्पित सर्वर पर आपकी उपलब्ध RAM का 70-80% होना चाहिए InnoDB.
  • बढ़ती innodb_buffer_pool_size मेरे सर्वर पर 2G (इस परीक्षण के लिए पर्याप्त से अधिक) घटित InnoDB समय 4.60s . तक

आईडी को प्राथमिक कुंजी बनाएं

  • InnoDB प्राथमिक कुंजी पर आधारित अपने डेटा को क्लस्टर करता है। जब आप एक घोषित नहीं करते हैं, तो InnoDB एक यादृच्छिक रूप से एक यादृच्छिक रूप से उत्पन्न करता है। अनुक्रमिक प्राथमिक कुंजी (आईडी) होना यादृच्छिक कुंजी से तेज़ है।
  • आईडी को मेरे सर्वर पर प्राथमिक कुंजी बनाना घटता InnoDB समय 3.80s . तक

अपना MySQL/InnoDB अपग्रेड करें

MySQL 5.1+ के साथ MySQL प्लगेबल स्टोरेज इंजन को सपोर्ट करता है। विशेष रूप से नया InnoDB प्लगइन

नया InnoDB इंजन कई प्रदर्शन संवर्द्धन प्रदान करता है जो हो सकता है इस विशेष प्रकार की क्वेरी पर महत्वपूर्ण प्रभाव डालते हैं।

ध्यान दें:

  • MySQL 5.1.38 से, InnoDB प्लगइन MySQL में शामिल है
  • MySQL 5.1.43 के अनुसार, InnoDB प्लगइन न केवल शामिल है, बल्कि 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. बैश स्क्रिप्ट में mysql डेटाबेस और उपयोगकर्ता बनाएं

  3. json_encode सरणी को ऑब्जेक्ट में बदल देता है

  4. मैं MySQL में तिमाही की पहली तारीख कैसे प्राप्त करूं?

  5. जेपीए + हाइबरनेट:डिलीट कैस्केड पर होने वाली बाधा को कैसे परिभाषित करें