MySQL存储引擎--存储引擎的选择
2016-03-26 21:36
281 查看
在实际工作中,选择一个合适的存储引擎是一个很复杂的问题。每种存储引擎都有各自的优势,不能笼统的说谁好谁不好。原谅我说了一句废话。
OK,现在我们将对各个存储引擎的特点进行对比,给出不同情况下选择存储引擎的建议。
首先呢,我们来从存储引擎的事务安全,存储限制,空间使用,内存使用,插入数据的速度和对外键的支持这几个角度来做一个比较。
关于上表的解释:
1,InnoDB存储引擎:InnoDB存储引擎支持事务处理,支持外键。同时支持奔溃修复能力和并发控制。
如果需要对事务的完整性要求比较高,要求实现并发控制,那选择InnoDB存储引擎有很大的优势。
如果需要频繁的进行更新,删除操作的数据库,也可以选择InnoDB存储引擎。因为该类存储引擎可以实现事务的提交和回滚。
2,MyISAM存储引擎:MyISAM存储引擎的插入数据快,空间和内存使用比较低。
如果表主要是用于插入新记录和读出记录,那么选择MyISAM存储引擎能实现处理的高效率。
如果应用的完整性,并发性要求很低,也可以选择MyISAM存储引擎。
3,Memory存储引擎:Memory存储引擎的所有数据都在内存中,数据的处理速度非常快,但安全性不高。
如果需要很快的读写速度,对数据的安全性要求较低,可以选择Memory存储引擎。
Memory存储引擎对表的大小有要求,不能建立太大的表。所以,这类数据库值使用与相对较小的数据库表。
这里再来整理一个小的技巧:
上面整理的到选择存储一起拿的这些建议都是根据不同的存储引擎的特点提出的。这些建议方案并不是绝对的,实际应用中还需要根据实际情况来进行分析。当然,同一个数据库中可以使用多种存储引擎的表。
1,如果一个表要求较高的事务处理,可以选择InnoDB。
2,这个数据库中可以将查询要求比较高的表选择MyISAM存储引擎。
3,如果需要该数据库中一个用于查询的临时表,可以选择Memory存储引擎。
相关文章推荐
- 在Mac电脑上安装MySql
- mysql 索引和Lucene索引
- MySQL存储引擎--Memory
- [C#基础]c#连接mysql
- MySQL存储引擎--MyISAM
- mysql优化小方法
- MySQL存储引擎--InnoDB
- windows下为mysql设置密码
- mysql-5.6.29-winx64 安装配置过程
- mysqlbinlog 查看具体的sql语句 (binlog_format=row模式)
- 就mysql command line client刚输入密码立马闪一下退出问题的解决方案
- MySql中String转int
- 解决MySQL Slave 触发 oom-killer
- mysql5.7安装Table 'mysql.user' doesn't exist
- mysql函数
- mysql 源码安装
- mysql主从复制
- Mysql 常用函数
- MySQL存储过程详解及mysql基本函数
- Hive使用MySQL保存Metastore