最新消息:

三种方式修改数据库的引擎

MySQL数据库 admin 1691浏览 0评论
三种方式修改数据库的引擎
1.直接alter table
ALTER TABLE youTable ENGINE=InnoDB;
这种方式最简单,但是对于大数据的表会消耗很长时间,因为MySQL要执行旧表到新表的逐行复制。而且alter table操作不管哪种引擎,MySQL都会锁整个表。
2.利用dump和source
首先dump需要的表,然后修改dump文件,去掉DROP TABLE修改CREATE TABLE代码,执行source。
这种方式不能在线修改引擎,需要让数据库下线;或者在线修改后进行同步。
3.利用CREATE和SELECT
CREATE TABLE myTableCopy LIKE myTable;
ALTER TABLE myTableCopy ENGINE=InnoDB;
INSERT INTO myTableCopy SELECT * FROM myTable WHERE id BETWEEN x AND y;
这种方式时候表的数据量比较大的情况,可以分批根据范围倒入,不会锁myTable。
转自:http://www.2cto.com/database/201211/170041.html

转载请注明:jinglingshu的博客 » 三种方式修改数据库的引擎

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

网友最新评论 (1)

  1. 我个人认为第三种方式比较好,即通过like建造一个和原先一样的数据库,然后修改新建的数据库引擎,然后通过insert ...select语句分批将旧表的数据导入新表。
    admin12年前 (2013-08-01)回复