MySQL选择合适的引擎及引擎转换的详解


本文摘自PHP中文网,作者黄舟,侵删。

我们怎么选择合适的引擎?这里简单归纳一句话:“除非需要用到某些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常用功能

数据库sql调优的几种方式是什么

mysql如何自动获取时间日期的实例详解

mysql水平分表怎么分

linux上怎么使用cmake安装mysql

mysql数据库查询操作xml的经验分享

mysql当前时间增加5分钟的实现方法

mysql多维数据仓库指南是什么

mysql字段类型有哪些

mysql之select、distinct、limit的使用

更多相关阅读请进入《mysql》频道 >>


数据库系统概念 第6版
书籍

数据库系统概念 第6版

机械工业出版社

本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...