作者:时尚妈咪达人都_354 | 来源:互联网 | 2017-05-12 15:45
MySQL常用存储引擎对比特点MyISAMInnoDBMEMORYMERGENDB存储限制有64TB有没有有事务安全支持锁机制表锁行锁表锁表锁行锁B树索引支持支持支持支持支持哈希索引支持支持全文索引支持集群索引支持数据缓存支持支持支持索
MySQL常用存储引擎对比 特点 MyISAM InnoDB MEMORY MERGE NDB 存储限制 有 64TB 有 没有 有 事务安全 支持 锁机制 表锁 行锁 表锁 表锁 行锁 B树索引 支持 支持 支持 支持 支持 哈希索引 支持 支持 全文索引 支持 集群索引 支持 数据缓存 支持 支持 支持 索
MySQL常用存储引擎对比
特点 |
MyISAM |
InnoDB |
MEMORY |
MERGE |
NDB |
存储限制 |
有 |
64TB |
有 |
没有 |
有 |
事务安全 |
|
支持 |
|
|
|
锁机制 |
表锁 |
行锁 |
表锁 |
表锁 |
行锁 |
B树索引 |
支持 |
支持 |
支持 |
支持 |
支持 |
哈希索引 |
|
|
支持 |
|
支持 |
全文索引
|
支持 |
|
|
|
|
集群索引
|
|
支持 |
|
|
|
数据缓存
|
|
支持 |
支持 |
|
支持 |
索引缓存
|
支持 |
支持 |
支持 |
支持 |
支持 |
数据可压缩
|
支持 |
|
|
|
|
空间使用
|
低 |
高 |
N/A |
低 |
低 |
内存使用
|
低 |
高 |
中等 |
低 |
高 |
批量插入的速度
|
高 |
低 |
高 |
高 |
高 |
支持外键
|
|
支持 |
|
|
|
1、MyISAM
MyISAM引擎不支持事务,也不支持外键,优势是访问速度快。对事务完整性没有要求或者以SELECT
、INSERT
为主的应用基本上都可以用这个引擎。
还有个问题就是MyISAM类型的表比较容易损坏。可以用CHECK TABLE
语句来检查表的健康状态,用REPAIR
TABLE
来修复。
它还支持三种不同的存储格式:
-
静态(固定长度)表(默认格式);
-
动态表;
-
压缩表。
2、InnoDB
InnoDB引擎提供了具有提交、回滚和崩溃恢复能力的事务安全特性。
还有以下一些特点:
3、MEMORY
MEMORY存储引擎的数据是放在内存中的,所以访问速度非常快。表中的数据是没有写入到磁盘的,一旦服务关闭或者关机,表的数据都会丢失。
他主要用于那些内容变化不频繁的代码表,或者作为统计操作的中间结果表,便于高效的对中间结果进行分析并得到最终统计结果。
4、MERGE
它是一组MyISAM表的组合,这些MyISAM表必须结构完全相同,MERGE表本身并没有数据,对MERGE表进行查询、更新、删除操作,实际上是对内部的MyISAM表进行的。
对于MERGE表的插入操作,是通过INSERT_METHOD
字句定义插入的表,可以有3个不同的值,使用FIRST
或LAST
值使得插入操作被相应地作用在第一或最后一个表上,不定义这个字句,或者定义为NO,表示不能对这个MERGE表进行插入操作。
可以对MERGE表进行DROP
操作,这个操作只是删除MERGE的定义,对内部的表没有任何的影响。