MySQL常用存储引擎之MyISAM
MyISAM是MySQL5.5之前版本默认的存储引擎。
MyISAM是大部分系统表和临时表所使用的存储引擎。
临时表:在排序、分组等操作中,当数量超过一定的大小之后,由查询优化器建立的临时表。
MyISAM存储引擎表由MYD(数据文件)和MYI(索引文件)组成。
特性:
· 并发性与锁级别
表级锁(读写互斥)
· 表损坏修复
check table tablename
repair table tablename
· MyISAM表支持的索引类型
MyISAM支持全文索引,并且是在MySQL 5.7之前唯一原生支持全文索引的官方引擎。
· MyISAM表支持数据压缩
命令行: myisampack
单行压缩,所以读取数据的时候不需要对整个表进行解压。
压缩的表只能进行读操作。
限制:
版本 < MySQL 5.0时默认表大小为4G
如存储大表则要修改MAX_Rows和AVG_ROW_LENGTH
版本 > MySQL 5.0时默认支持为256TB
适用场景:
· 非事务型场景
· 只读类应用(支持压缩)
· 空间类应用(MySQL 5.7之前唯一支持空间类应用的存储引擎)