1.真接修改。在数据多的时候比较慢,而且在修改时会影响读取性能。my_table是操作的表,innoDB是新的存储引擎。
代码如下 | 复制代码 |
ALTER TABLE my_table ENGINE=InnoDB2. |
导出,导入。这个比较容易操作,直接把导出来的sql文件给改了,然后再导回去。用mysqldump ,枫哥常用的是navicate那样更容易上手。友情提醒风险较大。
3.创建,插入。这个比第一种速度快, 安全性比第二种高,推荐。分2步操作
a.创建表,先创建一个和要操作表一样的表,然后更改存储引擎为目标引擎。
代码如下 | 复制代码 |
CREATE TABLE my_tmp_table LIKE my_table; ALTER TABLE my_tmp_table ENGINE=InnoDB; |
b.插入。为了安全和速度,最好加上事务,并限制id(主键)范围。
代码如下 | 复制代码 |
INSERT INTO my_tmp_table SELECT * FROM my_table; |
好了MySQL修改表存储引擎做法就到这里了,最后的方法是利用临时表来做,当然如果你不想这样做可以先备份好数据,然后再使用第一种办法来修改哦。
时间: 2024-10-25 03:50:45