InnoDB एक सामान्य-उद्देश्य वाला स्टोरेज इंजन है जो उच्च विश्वसनीयता और प्रदर्शन को संतुलित करता है। MySQL 5.6 के बाद से, InnoDB डिफ़ॉल्ट MySQL स्टोरेज इंजन है।
InnoDB का उपयोग विभिन्न उद्देश्यों के लिए किया जा सकता है। यहां उनमें से कुछ हैं:
इसका उपयोग लेनदेन (ट्रांजैक्शन) उद्देश्य के लिए किया जा सकता है यानी सभी ACID गुणों के लिए।
InnoDB का उपयोग रो-लेवल लॉकिंग के लिए किया जा सकता है, जिसका अर्थ है कि यह MyISAM की तुलना में उच्च प्रदर्शन देता है।
InnoDB का उपयोग बड़े बफर पूल के लिए डेटा और इंडेक्स दोनों के लिए किया जा सकता है।
InnoDB का उपयोग तब किया जा सकता है जब हमें MyISAM से बेहतर प्रदर्शन की आवश्यकता हो।
MyISAM MySQL 5.5 से पहले के संस्करणों के लिए डिफ़ॉल्ट स्टोरेज इंजन है।
MyISAM का उपयोग भी विभिन्न प्रकार के उद्देश्यों के लिए किया जा सकता है।
MyISAM का उपयोग बनाना और डिजाइन करना आसान है। इसलिए, इसका उपयोग शुरुआती लोगों द्वारा किया जा सकता है।
MyISAM में, टेबल्स के बीच फॉरेन की रिलेशनशिप से जुड़ी कोई जटिलता नहीं होती।
यह InnoDB की तुलना में तेज़ है (केवल पढ़ने वाले वर्कलोड के लिए)।
हम इसका उपयोग तब कर सकते हैं जब हमें न्यूनतम प्रदर्शन की आवश्यकता हो (टेक्स्ट में त्रुटि: "minimal performance" के बजाय "read-heavy workloads" होना चाहिए)।
महत्वपूर्ण सुधार: MyISAM केवल पढ़ने-भारी (read-heavy) वर्कलोड के लिए तेज़ है। लिखने-भारी (write-heavy) वर्कलोड के लिए InnoDB बेहतर है क्योंकि यह रो-लेवल लॉकिंग प्रदान करता है, जबकि MyISAM टेबल-लेवल लॉकिंग का उपयोग करता है। आधुनिक एप्लिकेशन के लिए InnoDB लगभग हमेशा बेहतर विकल्प है।