数据库架构开发技术是每一个软件开发程序员都应该熟练掌握的一个编程技术,下面我们就通过案例分析来了解一下,数据库存储引擎都有哪些常见类型。
1、InnoDB存储引擎(默认存储引擎),支持事务安全表(ACID),支持行锁定和外键
设计遵循ACID模型,支持事务,具有从服务崩溃中恢复数据的能力,能够大限度包含用户的数据
支持行级所,可以提升多用户并发时的读写性能
支持外键,保持数据的一致性和完整性
innoDB拥有自己独立的缓冲池,常用的数据和索引都在缓存中
2、MyISAM存储引擎:MyISAM基于ISAM存储引擎,并对其进行扩展。它是在Web、数据仓储和其他应用环境下常使用的存储引擎之一。MyISAM拥有较高的插入、查询速度,但不支持事物。
默认MyISAM的表会在磁盘中产生三个文件:.frm、.MYD和.MYI
MyISAM单表大支持的数据量是2的64次方条记录
每个表多可以建立64个索引
如果是复合索引,每个复合索引多包含16个列,索引值大长度是B
MyISAM引擎的存储格式:定长(FIXED静态):是指字段中不包含VARCHAR\TEXTBLOB;动态(DYNAMIC):只要字段中包含VARCHAR\TEXTBLOB;压缩(COMPRESSED):myisampack创建
3、MEMORY存储引擎:将表中的数据存储到内存中,未查询和引用其他表数据提供快速访问。
磁盘中产生一个以表名为名称的.frm文件,只保存表结构
如果关闭MySQL服务,此时数据会产生都是rr
max_head_table_size默认16MB
4、ARCHIVE存储引擎:
适合对于不经常访问又删除不了的数据做归档储存
.frm文件结构文件,.arz数据文件
插入效率很高,而且占用空间小
ARCHIVE存储引擎只支持INSERT和SELECT操作,不支持UPDATE/DELECT/