Mysql转换表的引擎
摘自《高性能Mysql》
将表的储存引擎转化成另外一种引擎有三种方法:
- 1.ALTER TABLE
- 2.导出与导入
- 3.创建与查询
ALTER TABLE
最简单的方法就是mysql >ALERT TABLE table_name ENGINE = InnoDB;
该方法需要执行很长世间,mysql会按行将数据从原表复制到另外新表中,在复制期间可能会小号系统所有 I/O能力,同时原表会加上读锁。
导出与导入
使用工具将数据导出到文件,然后修改文件中CREATE TABLE 语句的存储引擎选项,然后修改表明重新导入
创建与查询
先创建一个新的存储引擎的表,然后利用INSERT…SELECT语法来导入数据:
mysql >CREATE TABLE my_table LIKE table;
mysql >ALTER TABLE my_table ENGINE=InnoDB;
mysql >START TRANSACTION;
mysql >INSERT INTO my_table SELECT * FROM table where id BETWEEN x and y;
mysql >COMMIT;