基本介绍
- MySQL的表类型由存储引擎决定,主要包括MyISAM、innoDB、Memory等
- MySQL数据表主要支持六种类型,分别是:CSV、Memory、ARCHIVE、MRG_MYISAM、MYISAM、InnoDB
- 这六种又分为两类,一类是“事务安全型”,比如:InnoDB;其余都属于第二类,称为“非事务安全型”
细节说明
- MyISAM不支持事务、也不支持外键,但其访问速度快,对事务完整性没有要求
- InnoDB提供了具有提交、回滚和崩溃恢复能力的事务安全。但是比起MyISAM存储引擎,InnoDB写的处理效率差一些并且会占用更多的磁盘空间以保留数据和索引。
- MEMORY存储引擎使用存在内存中的内容来创建表。每个MEMORY表只实际对于一个磁盘文件。MEMORY类型的表访问非常快,因为它的数据是放在内存中的,并且默认使用HASH索引,一旦服务关闭,表中数据就会丢失,表的结构还在。
# 储存引擎-- 查看所有储存引擎show engines-- innodb 支持事务、支持外键、支持行级锁-- myisamcreate table t(id int, `name` varchar(32)) engine myisam;start transaction --开启事务savepoint t1 -- 设置回滚点insert into t values(1,'javk'); --插入数据rollback to t1 --回滚失败,warning-- memorycreate table tt(in int,`name`varchar(32)) engine memory;insert into tt values (1,'xc1');insert into tt values (2,'xc2');insert into tt values (3,'xc3');-- 服务关闭后数据不存在
![](/images/780-200-2.jpg)