কম্পিউটার টিউটোরিয়াল

MySQL-এ InnoDB ডিফল্টভাবে সক্রিয় কি না?

হ্যাঁ, 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 এখন ডিফল্ট নয়
  1. MySQL-এ টেবিল MyISAM নাকি InnoDB ইঞ্জিন ব্যবহার করছে তা জানা

  2. MySQL-এ InnoDB স্টোরেজ ইঞ্জিন সক্ষম/ইনস্টল করা (my.ini বা ENGINE=InnoDB)

  3. MySQL-এ DEFAULT NULL যোগ করা আবশ্যক কিনা?

  4. MySQL-এ টেবিল ইঞ্জিন InnoDB থেকে MyISAM-এ পরিবর্তন করা