《Mysql学习mysql表的引擎转换三种方法》要点:
本文介绍了Mysql学习mysql表的引擎转换三种方法,希望对您有用。如果有疑问,可以联系我们。
- ALTER TABLE mytable ENGINE=InnoDB;
MYSQL入门上述语法可以适应任何存储引擎.但是又一个问题:需要执行很长时间.mysql会按行将数据从元彪复制到一张新表总,在复制期间可能会消耗系统所有I/O能力,同时原表上会加上读锁.所以,在繁忙的表上执行此操作要特别小心.一个替代方案是采用下面介绍的导出与导入的方法,手工进行表的复制.
2.导出导入
为了更好地控制转换的过程,可以使用mysqldump工具将数据导出到文件,然后修改文件中CREATE TABLE 语句的存储引擎,主要同时修改表名,因为同一个数据库中不能存在相同的表名.
3.创建与查询(CREATE和SELECT)
第三种转换的技术综合了第一种方法的高效和第二种方法的安全.不需要导出整个表的数据,而是先创建一个新的存储引擎表,然后利用INSERT.....SELECT语法来导数据:
- CREATE TABLE innodb_table LIKE myisam_table;
- ALTER TABLE innodb_table ENGINE=InnoDB;
- INSERT INTO innodb_table SELECT * FROM myisam_table;
MYSQL入门数据量不大的话,这样做工作很好.如果数据量很大,则考虑做分批处理,针对每一段数据执行事务提交操作,避免大事务产生过多的undo.
转载请注明本页网址:
http://www.vephp.com/jiaocheng/5741.html