bitscn.com
三种方式修改数据库的引擎
1.直接alter table
sql代码
alter table youtable engine=innodb;
这种方式最简单,但是对于大数据的表会消耗很长时间,因为mysql要执行旧表到新表的逐行复制。而且alter table操作不管哪种引擎,mysql都会锁整个表。
2.利用dump和source
首先dump需要的表,然后修改dump文件,去掉drop table修改create table代码,执行source。
这种方式不能在线修改引擎,需要让数据库下线;或者在线修改后进行同步。
3.利用create和select
sql代码
create table mytablecopy like mytable;
alter table mytablecopy engine=innodb;
insert into mytablecopy select * from mytable where id between x and y;
这种方式时候表的数据量比较大的情况,可以分批根据范围倒入,不会锁mytable。
bitscn.com