5.5版本之前,默认为ISAM引擎
非聚集索引
堆表:数据和索引分开存放的
myisam支持表压缩,压缩之后支持查询,但是不再支持插入
压缩命令:
myisampack -r -f testmysam.MYI
物理文件结构
- myi 索引文件
- myd 数据文件
- frm 表结构文件
特性
- 不支持事物
- 仅支持表级锁
- 支持全文检索
- 支持数据压缩
适用场景
- 非事事务数据(不支持事务)
- 只读类型的数据,支持文件压缩,能存储的数据更多
- 空间坐标型数据
存储引擎-My Innodb
5.5版本之后,默认为ISAM引擎
表空间
- innodb_file_per_table(建议使用独立表空间)
- ON:独立的表空间:tablename.ibd
- 可以通过optimize table 收缩系统文件
- 可以同时向多个文件刷新数据
- OFF:系统表空间:ibdataX
- 无法简单的收缩文件大小
- 会产生IO瓶颈
- ON:独立的表空间:tablename.ibd
物理文件结构
- ibd 数据和索引文件
- frm 表结构文件
特性
- 完全支持事物的ACID特性
- 支持表级锁,支持行级锁
- Redo Log和Undo Log
适用场景
- 适用大部分的OLTP应用
存储引擎-My CSV
物理文件结构
- .csv 文件存储内容
- .csm 文件存储表的元数据如表状态和数据量
- .frm 表结构
特性
- 以cvs格式进行存储
- 所有列不能为null
- 不支持索引
- 可以对文件直接编辑
存储引擎-Memory
特性
- 也成HEAP存储引擎,所以数据保存在内存中
- 支持HASH索引和BTree索引(默认HASH索引)
- 所有字段长度都是固定的长度,varchar(10)=char(10)
- 不支持Blog和Text等大字段
- Member存储引擎使用的是表级锁
- 最大大小有max_heap_table_size参数决定
- 数据易丢失