当前位置:首页 > Mysql教程 > 列表

MySQL修改表存储引擎安全做法

发布:smiling 来源: PHP粉丝网  添加日期:2014-09-28 22:01:46 浏览: 评论:0 

以前我讲过直接使用ALTER TABLE my_table ENGINE=InnoDB来直接修改数据库或表的存储引擎了,这样做可以成功但风险也较大,容易导致数据表损坏了,下面我来介绍比较安全的做法.

1.真接修改,在数据多的时候比较慢,而且在修改时会影响读取性能,my_table是操作的表,innoDB是新的存储引擎,代码如下:

ALTER TABLE my_table ENGINE=InnoDB

2.导出,导入,这个比较容易操作,直接把导出来的sql文件给改了,然后再导回去,用mysqldump,枫哥常用的是navicate那样更容易上手,友情提醒风险较大.

3.创建,插入,这个比第一种速度快,安全性比第二种高,推荐,分2步操作:

a.创建表,先创建一个和要操作表一样的表,然后更改存储引擎为目标引擎,代码如下:

CREATE TABLE my_tmp_table LIKE my_table;

ALTER TABLE my_tmp_table ENGINE=InnoDB;//phpfensi.com

b.插入,为了安全和速度,最好加上事务,并限制id(主键)范围,代码如下:

INSERT INTO my_tmp_table SELECT * FROM my_table;

好了MySQL修改表存储引擎做法就到这里了,最后的方法是利用临时表来做,当然如果你不想这样做可以先备份好数据,然后再使用第一种办法来修改.

Tags: MySQL存储引擎 MySQL修改表

分享到: