mysql表类型和存储引擎
1. MySQL的表类型由存储引擎(Storage Engines)决定,主要包括MylISAM.innoDB、Memory等。
2. MySQL数据表主要支持六种类型,分别是:cSv.Memory、ARCHIVE、
MRG MYISAM、MYISAM、InnoBDB.
3. 这六种又分为两类,一类是”事务安全型”(transaction-safe),比如:InnoDB;
其余都属于第二类,称为”非事务安全型”(non-transaction-safe)[mysiam和memory].
查看所有的存储引擎
show engines
1. MylSAM不支持事务、也不支持外键,但其访问速度快,对事务完整性没有要求
2. InnoDB存储引擎提供了具有提交、回滚和崩溃恢复能力的事务安全。但是比起
MylSAM存储引擎,InnoDB写的处理效率差一些并且会占用更多的磁盘空间以保留
数据和索引。
3. MEMORY存储引擎使用存在内存中的内容来创建表。每个MEMORY表只实际对应
一个磁盘文件。MEMORY类型的表访问非常得快,因为它的数据是放在内存
中的,并且默认使用HASH索引。但是一旦服务关闭,表中的数据就会丢
失掉,表的结构还在。
①innodb 存储引擎
1.支持事务
2.支持外键
3.支持行级锁
②myisam 存储引擎
create table 表名(
id int,
name varchar(32))engine myisam
1.添加速度快
2.不支持外键和事务【创建事务 但是回滚不了 不报错 无效果】
3.是表级锁
③memory存储引擎
1.数据存储在内存中(关闭MySQL服务,数据(值)就会丢失,但是表(字段)还在)
2.执行速度很快(内存中,没有io读写)
3.默认支持索引 (hash表)
1. 如果你的应电不需要事务,处理的只是基本的CRUD操作,那么MylSAM是不二
选择,速度快
2. 如果需要支持事务,选择lnnoDB。
3. Memory存储引擎就是将数据存储在内存中,由于没有磁盘I./O的等待,
速度极快。但由于是内存存储引擎,所做的任何修改在服务器重启后都
将消失。(经典用法用户的在线状态().)
修改存储引擎
alter table 表名 engine = 需要的存储引擎