//
1.加锁与并发
MyISAM对整张表加锁,而不是针对性。读取时会对需要读到的所有表加共享锁,写入时则对表加排他锁。但是在表有读取查询的同时,也可以往表中插入新的记录。
2.修复
对于MyISAM表,MySQL可以手工或者自动执行检查和修复操作,但这里说的修复和事务恢复以及崩溃恢复是不同的概念,执行表的修复可能导致一些数据的丢失,而且修复操作是非常慢的。可以通过CHECK TABLE MYTABLE,检查表的错误,如果有错误可以通过执行REPAIR TABLE MYTABLE进行修复。另外,如果MySQL服务器已经关闭,也可以通过myisamchk命令行工具进行检查和修复操作。
3.索引特性
对于MYISAM表,即使是BLOB和TEXT等长字段,也可以基于钱500个字符进行创建索引。MyISAM也可以支持全文索引,这是一种基于分词创建的索引,可以支持复杂的查询。
4.延迟更新索引键
创建MyISAM表的时候,如果指定了DELAY_KEY_WRITE选项,在每次修改执行完成时,不会立刻将修改的索引的数据写入磁盘,而是会写在内存中的键缓冲去,只有在清理键缓冲区或者关闭表的时候才会将对应的索引块写入到磁盘,这种方式可以极大的提升写入性能,但是在数据库或者主机崩溃时会造成索引损坏,需要执行修复操作。延迟更新索引键的特性,可以再全局设置,也可以在单个表设置。