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

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

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

ইঞ্জিন পরিবর্তন সময় বিবেচনা

প্রক্রিয়া

  1. টেবিল লক হয় (মেটাডেটা লক)
  2. নতুন ইঞ্জিনে ডেটা কপি হয়
  3. ইন্ডেক্স রিবিল্ড হয়
  4. পুরানো ফাইল ডিলিট, নতুন ফাইল রিনেম

নোট

  • বড় টেবিলে সময় লাগে, মেইনটেন্যান্স উইন্ডোতে করুন
  • ALGORITHM=INPLACE (৫.৬+) কিছু কেসে লক কমায়
  • পার্টিশনড টেবিলে ALTER TABLE ... REORGANIZE PARTITION দরকার হয়তে পারে
  1. MySQL-এ টেবিল MyISAM নাকি InnoDB ইঞ্জিন ব্যবহার করছে তা জানা

  2. Java MySQL ব্যবহার করে MySQL টেবিল আপডেট করা

  3. MySQL에서 일괄 업데이트(Batch Update) 수행하기

  4. MySQL-এ টেবিলের অস্তিত্ব যাচাই করা

কপিরাইট © https://bd.wsxdn.com সমস্ত অধিকার সংরক্ষিত
ফ্যাক্টরInnoDBMyISAM
ট্রানজ্যাকশনহ্যাঁ (ACID)না
রো-লেভেল লকহ্যাঁনা (টেবিল লক)
ফরেন কীহ্যাঁনা
ফুলটেক্সট সার্চ (পুরানো)৫.৬+হ্যাঁ
কম্প্রেশনপেজ কম্প্রেশনmyisampack