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

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

প্রথমে একটি টেবিল তৈরি করি:

mysql> CREATE TABLE DemoTable1982 (
    StudentId INT,
    StudentName VARCHAR(20),
    StudentAge INT
);
Query OK, 0 rows affected (0.00 sec)

টেবিলের ইঞ্জিন টাইপ চেক করি:

mysql> SHOW CREATE TABLE DemoTable1982;

আউটপুটে দেখা যাবে ডিফল্টভাবে ইঞ্জিনটি InnoDB:

+---------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table         | Create Table                                                                                                                                                                                                                           |
+---------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| DemoTable1982 | CREATE TABLE `demotable1982` (`StudentId` int(11) DEFAULT NULL, `StudentName` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL, `StudentAge` int(11) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci |
+---------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

ইঞ্জিন MyISAM-এ পরিবর্তন করতে:

mysql> ALTER TABLE DemoTable1982 ENGINE='MyISAM';
Query OK, 0 rows affected (0.00 sec)
Records: 0  Duplicates: 0  Warnings: 0

আবার চেক করলে ইঞ্জিন পরিবর্তন হয়ে যাবে:

+---------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table         | Create Table                                                                                                                                                                                                                           |
+---------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| DemoTable1982 | CREATE TABLE `demotable1982` ( `StudentId` int(11) DEFAULT NULL, `StudentName` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL, `StudentAge` int(11) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci |
+---------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

মূল পার্থক্য

  • InnoDB: ট্রানজেকশন, ফরেন কি, রো-লেভেল লকিং সাপোর্ট করে। আধুনিক অ্যাপ্লিকেশনের জন্য পছন্দনীয়।
  • MyISAM: ফুল-টেক্সট সার্চ, দ্রুত রিড অপারেশন সাপোর্ট করে। কিন্তু ট্রানজেকশন বা ফরেন কি সাপোর্ট করে না।

আপনার অ্যাপ্লিকেশনের প্রয়োজন অনুযায়ী ইঞ্জিন বেছে নিন।

  1. MySQL-এ টেবিল MyISAM নাকি InnoDB ইঞ্জিন ব্যবহার করছে তা জানা

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

  3. MySQL টেবিল থেকে ইন্ডেক্স সরানো

  4. MySQL-এ ALTER TABLE ... ENGINE দিয়ে স্টোরেজ ইঞ্জিন পরিবর্তন করা