হ্যাঁ, MySQL ভার্সন ৪.০ থেকে InnoDB ডিফল্ট স্টোরেজ ইঞ্জিন হিসেবে সক্রিয় থাকে। আমরা এখানে MySQL ৮.০.১২ ব্যবহার করছি।
ভার্সন যাচাই
mysql> select version(); +-----------+ | version() | +-----------+ | 8.0.12 | +-----------+ 1 row in set (0.00 sec)
কনফিগারেশন ফাইল (my.ini) এ ডিফল্ট ইঞ্জিন
MySQL কনফিগারেশন ফাইলে default-storage-engine=InnoDB সেট থাকে। (স্ক্রিনশট রেফারেন্স)
দুই টেবিল তৈরি করে যাচাই
টেবিল ১ (ইঞ্জিন না উল্লেখ করেও):
mysql> create table DemoTable1(Id int NOT NULL AUTO_INCREMENT PRIMARY KEY); Query OK, 0 rows affected (0.80 sec)
টেবিল ২ (স্পষ্টভাবে InnoDB উল্লেখ করে):
mysql> create table DemoTable2(
Id int NOT NULL AUTO_INCREMENT PRIMARY KEY
) ENGINE=InnoDB;
Query OK, 0 rows affected (0.76 sec)
দুই টেবিলের ইঞ্জিন টাইপ যাচাই
mysql> select engine from information_schema.TABLES where TABLE_SCHEMA = 'web' and table_name='DemoTable1'; +--------+ | ENGINE | +--------+ | InnoDB | +--------+ 1 row in set (0.56 sec)
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 ইঞ্জিন ব্যবহার করেছে, যদিও প্রথম টেবিলে ইঞ্জিন উল্লেখ করা হয়নি। এটি প্রমাণ করে যে InnoDB ডিফল্ট ইঞ্জিন।
তথ্য
- MySQL ৫.৫+ এ InnoDB ডিফল্ট
- InnoDB: ACID-compliant, ট্রানজ্যাকশন, ফরেইন কি, রো-লেভেল লকিং সমর্থন করে
- পুরানো MyISAM এখন ডিফল্ট নয়