Chinaunix首页 | 论坛 | 博客
  • 博客访问: 172716
  • 博文数量: 40
  • 博客积分: 888
  • 博客等级: 准尉
  • 技术积分: 396
  • 用 户 组: 普通用户
  • 注册时间: 2010-09-01 10:17
文章分类
文章存档

2013年(10)

2012年(10)

2011年(11)

2010年(9)

分类: SQLServer

2013-04-28 17:56:50

这里以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出来,换掉引擎在重新导入
 


 

阅读(1988) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~