除非万不得已,不然不发起夹杂运用多种存储引擎,不然能够带来一系列庞杂的题目以及一些潜伏的BUG。
运用差别引擎斟酌的几大要素:
1.事件
假如须要事件支撑,那末InnoDB或许XtraDB现在最稳固。假如不须要事件且主如果SELECT和INSERT操纵,MyISAM是不错的挑选。
2.备份
假如须要在线热备份,InnoDB是基础的挑选。
3.崩溃恢复
数据量比较大的时刻,体系崩溃后怎样疾速恢复是一个须要斟酌的题目,这也是许多人纵然不须要事件支撑也挑选InnoDB的缘由。
转换表的引擎:
1.ALTER TABLE
最简朴的要领就是ALTER TABLE语句: mysql> ALTER TABLE mytable ENGINE = InnoDB;
这个语法适用于任何存储引擎,然则须要实行很长的时候。
转换表的存储引擎,将会落空和原引擎相干的一切特征。
2.导出与导入
能够运用mysqldump东西将数据导出到文件,然后修正文件中CREATE TABLE语句的存储引擎,请注意修正表名。
同时请注意mysqldump东西默许会自动在CREATE TABLE语句前加上DROP TABLE语句,警惕数据丧失。
3.建立与查询
综合第一种与第二种,先建立一个新的存储引擎表,然后应用INSTER ... SELECT语法来导数据
mysql> CREATE TABLE innodb_table LIKE myisam_table; mysql>ALTER TABLE innodb_table ENGINE=InnoDB; mysql>INSTER INTO innodb_table SELECT * FROM myisam_table;
数据量大的话能够分批处置惩罚,针对每一段数据实行事件提交操纵,防止大事件发生的undo。Percona Toolkit供应了一个pt-online-schema-change的东西,能够简朴,轻易的实行防止手工操纵致使的失误。
以上就是MySQL挑选适宜的引擎及引擎转换的详解的细致内容,更多请关注ki4网别的相干文章!