关闭

MyISAM存储引擎的特点

别叨叨 1年前 ⋅ 206 阅读

5.1之前MyISAM是MySQL的默认存储引擎,MyISAM并发性能比较差,使用的场景比较少方要特点是:

  1. 不支持事务操作,ACID的特性也就不存在,这一设计是为了性能和效率考虑的。
  2. 不支持外键操作,如果强行增加外键,MySQL不会报错,只不过外键不起作用。
  3. MyISAM默认的锁粒度是表级锁,所以并发性能较差,加锁比较快,锁冲突比较少,不太容易发生死锁的情况。
  4. MyISAM会在磁盘上存储三个文件,文件名和表名相同,扩展名分另是frm(表定义)、MYD(表数据)、MYI(表索引)。这里需要特别注意的是MyISAM只缓存索引文件,并不缓存数据文件。
  5. MyISAM支持的索引类型有全局索引(FULL-Text)、B-Tree索引、R-Tree索引:
    • FULL-Text索引:它的出现是为了解决针对文本的模糊查询效率较低的问题。
    • B-Tree索引:所有的索引节点都按照平衡树的结构来存储,所有的索引数据节点都在叶节点。
    • R-Tree索引:它的存储方式和B-Tree索引有一些区别,主要设计用于存储空间和多维数据的字段做索引。目前的MySQL版本仅支持geometry类型的字段作索引,相对于B-Tree,R-Tree的优势在于范围查找。
  6. 数据库所在主机如果宕机,MyISAM的数据文件容易损坏,而且难以恢复。
  7. 增删改查性能方面:select性能较高,适用于查询较多的情况。

全部评论: 0

    我有话说: