数据库的存储引擎

参考:深入浅出MySql

 

MyIsam:MySQL默认的存储引擎,不支持事务,不支持外键,优势是访问速度快。

MyIsam磁盘上存储三个文件:.frm存储表定义;.MYD存储数据;.MYI存储索引。MyIsam表支持三种不同存储方式,静态表,动态表,压缩表。

静态表:字段都是非变长的,这样每个记录都是固定长度,这种方式的优点是存储迅速,容易缓存,出故障容易恢复。

动态表:字段是变长的,这样占用空间小,但是频繁更新和删除记录会导致碎片很多,需要定期的optimize table

压缩表:记录被压缩存储,访问开支小。

InnoDB:具有提交、回滚和崩溃回复能力,支持事务。InnoDB的自动增长列必须是索引,如果是组合索引,那必须是索引的第一列,对于myIsam表,自动增长列可以是组合索引的其他列。

MySQL只有InnoDB支持外键,在创建外键时,要求父表必须有对应的索引,子表也会自动创建对应的索引。

外键关键字:RESTRICT,CASCADE、SET NULL。

RESTRICT:子表有相应记录,父表不允许更新;

CASCADE:子表有相应记录,父表更新或者删除时,子表同时更新或者删除

SET NULL:父表相应记录删除时,子表对应记录设为NULL。

MEMORY:使用存于内存中的内容来创建表,每个MEMORY表只实际对应一个磁盘文件.frm,Memory表数据访问很快,默认使用HASH索引,但服务器关闭则数据丢失。

在MEMORY创建时,可指定Hash索引或者B-Tree索引。

MEMORY存储引擎主要用于那些内容变化不频繁的代码表,或者作为统计操作的中间结果表,便于高效的对中间结果进行分析并得到最终的分析结果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值