MyISAM ইঞ্জিনকে InnoDB-তে কনভার্ট করতে ALTER কমান্ড ব্যবহার করা যায়। প্রথমে MyISAM ইঞ্জিনে একটি টেবিল তৈরি করুন।
mysql> CREATE TABLE MyISAMToInnoDBDemo -> ( -> id int, -> Name varchar(100) -> ) ENGINE=MyISAM; Query OK, 0 rows affected (0.19 sec)
টেবিল MyISAM ইঞ্জিনে তৈরি হয়েছে কিনা চেক করুন:
mysql> SELECT TABLE_NAME, ENGINE FROM information_schema.TABLES WHERE TABLE_SCHEMA = 'business' AND ENGINE = 'MyISAM';
আউটপুট:
+-------------------------+--------+ | TABLE_NAME | ENGINE | +-------------------------+--------+ | studentrecordwithmyisam | MyISAM | +-------------------------+--------+ 1 row in set (0.00 sec)
MyISAM থেকে InnoDB-তে কনভার্ট
mysql> ALTER TABLE MyISAMToInnoDBDemo ENGINE=InnoDB; Query OK, 0 rows affected (1.65 sec) Records: 0 Duplicates: 0 Warnings: 0
কনভারশন চেক করুন:
mysql> SELECT TABLE_NAME, ENGINE FROM information_schema.TABLES WHERE TABLE_SCHEMA = 'test' AND ENGINE = 'InnoDB';
আউটপুট:
+--------------------+--------+ | TABLE_NAME | ENGINE | +--------------------+--------+ | myisamtoinnodbdemo | InnoDB | +--------------------+--------+ 1 row in set (0.00 sec)
সতর্কতা: কনভারশন সময় টেবিল লক থাকে (MySQL 5.6+ এ অনলাইন DDL ব্যবহার হয় কিন্তু লক প্রয়োজন)। বড় টেবিলের জন্য `pt-online-schema-change` (Percona Toolkit) বা `gh-ost` ব্যবহার করুন। ফরেন কি, ট্রানজেকশন সাপোর্ট পাওয়ার জন্য InnoDB প্রিয়।