Mysql学习mysql表的引擎转换三种方法

Mysql学习mysql表的引擎转换三种方法,第1张

概述介绍《Mysql学习mysql表的引擎转换三种方法》开发教程,希望对您有用。

《MysqL学习MysqL表的引擎转换三种方法》要点:
本文介绍了MysqL学习MysqL表的引擎转换三种方法,希望对您有用。如果有疑问,可以联系我们。

导读:有很多方法可以将表的存储引擎转换成另一种引擎.每种方法都有其优缺点.接下来内存溢出PHP培训网将讲述其中三种方法.1.ALTER table将表从一个引擎... 有很多方法可以将表的存储引擎转换成另一种引擎.每种方法都有其优缺点.接下来内存溢出培训网将讲述其中三种方法.

1.ALTER table

将表从一个引擎修改成另一个引擎最简单的方法是使用 ALTER table 语句.下面的语句将mytable的引擎修改为InnoDB.

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.

总结

以上是内存溢出为你收集整理的Mysql学习mysql表的引擎转换三种方法全部内容,希望文章能够帮你解决Mysql学习mysql表的引擎转换三种方法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1160214.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存