हाँ, InnoDB डिफ़ॉल्ट स्टोरेज इंजन है
MySQL संस्करण 4.0 से InnoDB डिफ़ॉल्ट स्टोरेज इंजन है। वर्तमान संस्करण (8.0+) में भी यह डिफ़ॉल्ट है।
संस्करण जांचना
mysql> SELECT VERSION(); +-----------+ | VERSION() | +-----------+ | 8.0.12 | +-----------+ 1 row in set (0.00 sec)
कॉन्फ़िगरेशन फाइल में डिफ़ॉल्ट इंजन
MySQL कॉन्फ़िगरेशन फाइल (my.ini/my.cnf) में डिफ़ॉल्ट इंजन InnoDB के रूप में सेट होता है:
[mysqld] default-storage-engine=InnoDB

व्यावहारिक प्रदर्शन: दोनों टेबल्स InnoDB बनते हैं
टेबल 1: बिना इंजन निर्दिष्ट किए
mysql> CREATE TABLE DemoTable1(Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY); Query OK, 0 rows affected (0.80 sec)
टेबल 2: स्पष्ट रूप से InnoDB के साथ
mysql> CREATE TABLE DemoTable2(
Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY
) ENGINE=InnoDB;
Query OK, 0 rows affected (0.76 sec)
इंजन प्रकार जांचना
टेबल 1 का इंजन
mysql> SELECT ENGINE FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'web' AND TABLE_NAME = 'DemoTable1';
+--------+
| ENGINE |
+--------+
| InnoDB |
+--------+
1 row in set (0.56 sec)
टेबल 2 का इंजन
mysql> SELECT ENGINE FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'web' AND TABLE_NAME = 'DemoTable2';
+--------+
| ENGINE |
+--------+
| InnoDB |
+--------+
1 row in set (0.00 sec)
निष्कर्ष
दोनों टेबल्स का इंजन InnoDB दिखाता है, भले ही DemoTable1 में इंजन निर्दिष्ट नहीं किया गया था। यह पुष्टि करता है कि InnoDB डिफ़ॉल्ट है।
अन्य स्टोरेज इंजन्स
| इंजन | विशेषताएं | उपयोग |
|---|---|---|
| InnoDB | ACID, ट्रांजैक्शन, फॉरेन की, रो-लेवल लॉकिंग | डिफ़ॉल्ट, सामान्य उपयोग |
| MyISAM | फुलटेक्स्ट खोज (पुराने संस्करण), टेबल-लेवल लॉकिंग | केवल पढ़ने वाले, विश्लेषणात्मक |
| MEMORY | रैम में स्टोर, तेज़ लेकिन अस्थायी | कैश, अस्थायी टेबल्स |
| CSV | CSV फाइल फॉर्मेट में डेटा | डेटा एक्सचेंज |
| ARCHIVE | कंप्रेस्ड, केवल इन्सर्ट/सेलेक्ट | लॉगिंग, आर्काइविंग |
इंजन बदलना
-- टेबल बनाते समय CREATE TABLE t1 (...) ENGINE=MyISAM; -- मौजूदा टेबल बदलना ALTER TABLE t1 ENGINE=InnoDB;
सभी इंजन्स देखना
SHOW ENGINES;