Mysql常见的三种存储引擎MYISAM、InnoDB、Memory、之间的区别

Mysql常见的三种存储引擎MYISAM、InnoDB、Memory、之间的区别
(简单比较)
MYISAM
特点:MYISAM是最常见的存储引擎但是不是默认的,
MYSAM使用三个文件表示每个表
格式文件:存储表结构
数据文件:存储表的数据
索引文件:存储索引
优点:可以将表压缩存在硬盘上,变为只读表节省空间
缺点:不支持事务

InnoDB
特点:是Mysql默认的存储引擎,数据存储在表空间中,表结构存储在xx.frm中
优点:支持事务,外键,行级锁等,数据安全得到了保障
Mysql崩溃后提供自动恢复机制
支持删除和跟新
缺点:不能被压缩

Memory
特点:在数据库目录内,每个表均以XX.frm文件格式存储
数据和索引存储在内存中,拥有表级锁机制
优点:查询速度最快
缺点:不支持事务,因为数据和索引都存储在内存中,断点就丢失了

使用场景
MylSAM:MylSAM表最适合于大量的数据读而少量数据更新的混合操作。MiylSAM表的另一种适用情形是使用压缩的只读表。”
innoDB:如果查询中包含较多的数据更新操作,应使用innoDB。其行级锁机制和多版本的支持为数据读驭和更新的混合操作提供了良好的并发机制。
MEMORY:可使用MEMORY存储引擎来存储非永久需要的数据,或者是能够从基于磁盘的表中重新生成的数据。

你可能感兴趣的:(mysql)