这里以mysam表修改为innodb为例:
这里有两种方式,各自有优缺点:
1,数据量不太大的时候
ALTER TABLE table engine=InnoDB; (注意InnoDB的大小写)
优点: 简单,好记;
缺点: 数据量大时会很慢;
2,数据量比较大可以用这种方式 (这里以表t为例),简单理解就是想把数据导入到一个临时的innoDb表,在把原来的表替换掉
a)先创建一个临时表 create table t_tmp like t;
b)alter table t_tmp engine=InnoDB; (这个就是方法一的做法)
c)insert into t_tmp select * from t
d) drop table t;
e) alter table t_tmp rename to t (修改表名)
优点:数据量大时候想读快一点。
缺点:步骤太多
如何批量修改:可以把表donw出来,换掉引擎在重新导入