MySQL-এ বিদ্যমান টেবিলের স্টোরেজ ইঞ্জিন পরিবর্তন করতে ALTER TABLE ... ENGINE= সিনট্যাক্স ব্যবহার করা হয়।
সিনট্যাক্স
ALTER TABLE yourTableName ENGINE = InnoDB;
উদাহরণ: MyISAM থেকে InnoDB-এ পরিবর্তন
CREATE TABLE DemoTable (
StudentId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
StudentName VARCHAR(20),
StudentAge INT,
StudentCountryName VARCHAR(20)
) ENGINE=MyISAM, AUTO_INCREMENT=101;
পরিবর্তন 前: SHOW CREATE TABLE
SHOW CREATE TABLE DemoTable;
-- ENGINE=MyISAM
ইঞ্জিন পরিবর্তন
ALTER TABLE DemoTable ENGINE = InnoDB;
পরিবর্তন পর: SHOW CREATE TABLE
SHOW CREATE TABLE DemoTable;
-- ENGINE=InnoDB
ইঞ্জিন পরিবর্তন সময় বিবেচনা
| ফ্যাক্টর | InnoDB | MyISAM |
|---|---|---|
| ট্রানজ্যাকশন | হ্যাঁ (ACID) | না |
| রো-লেভেল লক | হ্যাঁ | না (টেবিল লক) |
| ফরেন কী | হ্যাঁ | না |
| ফুলটেক্সট সার্চ (পুরানো) | ৫.৬+ | হ্যাঁ |
| কম্প্রেশন | পেজ কম্প্রেশন | myisampack |