MyISAM不支持事务和行级锁,崩溃后无法安全恢复。提供大量特性,包括全文索引、压缩、空间函数(GIS)等。
对于只读数据或者表比较小、可以忍受修复操作,依然可以使用MyISAM。
存储
MyISAM会将表存储在两个文件中,数据文件和索引文件。MyISAM表可以包含动态或静态行,可以存储的行记录数,一般受限于可用的磁盘空间或者操作系统单个文件大小。
特性
1.加锁与并发:对整张表加锁;读取查询时,也可以向表中插入新纪录。
2.修复
3.索引特性:即使是BLOB,TEXT等长字段,也可以基于前500个字符创建索引。支持全文索引。
4.延迟更新索引
MyISAM压缩表
如果表创建并导入数据后,不会再进行修改操作,这样的表或许适合MyISAM压缩表。压缩表是不能修改的,极大减少空间占用,减少磁盘IO,提升查询性能。支持索引,但索引只能读。压缩时,表中的记录是独立压缩的,所以读取时不需要解压整个表。
性能
设计简单,数据以紧密格式存储,某些场景下性能很好。最典型的性能问题是表锁问题。