•   欢迎来到21NN网.
  •   请记住本站网址www.21nn.cn

MySQL挑选适宜的引擎及引擎转换的详解【MySQL教程】,MySQL,引擎,选择

摘要: 我们怎样挑选适宜的引擎?这里简朴归结一句话:“除非须要用到某些InnoDB不具备的特征,而且没有其他要领能够替换,不然都应该优先挑选InnoDB引擎。”除非万不得已,不然不发起夹杂运用多...
我们怎样挑选适宜的引擎?这里简朴归结一句话:“ 除非须要用到某些InnoDB不具备的特征,而且没有其他要领能够替换,不然都应该优先挑选InnoDB引擎。

除非万不得已,不然不发起夹杂运用多种存储引擎,不然能够带来一系列庞杂的题目以及一些潜伏的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网别的相干文章!

分享到:

发表评论

评论列表

还没有评论,快来说点什么吧~

公众号二维码

微信公众号