Day54 【概念解析】MyISAM
行业概念

Day54 【概念解析】MyISAM

· 约 913 字 · 阅读约 5 分钟
目录

前言

💡 MyISAM = My + ISAM,如同 MySQL = My + SQL 的命名方式一般,MyISAM 也是由 My 与 ISAM 合成而来。

整理定义

What is ISAM?

索引顺序存取方法(ISAM, Indexed Sequential Access Method)最初是IBM公司发展起来的一个文件系统,可以连续地(按照他们进入的顺序)或者任意地(根据索引)记录任何访问。每个索引定义了一次不同排列的记录。现在这个概念用在许多场合:

  • 特指IBM公司的ISAM产品

  • 数据库系统中提供用户接口从数据文件中检索数据。

  • 通常指,数据库的索引,这种索引被大多数数据库所采用,包括关系数据库或其它。

在ISAM系统,数据组织成有固定长度的记录,按顺序存储的。

What is MyISAM?

MyISAM是MySQL的默认数据库引擎(5.5版之前),由早期的ISAM所改良。虽然性能极佳,但却有一个缺点:不支持事务处理(transaction)。不过,在这几年的发展下,MySQL也导入了InnoDB(另一种数据库引擎),以强化参照完整性与并发违规处理机制,后来就逐渐取代MyISAM。

每个MyISAM资料表,皆由存储在硬盘上的3个文件所组成,每个文件都以资料表名称为文件主名,并搭配不同扩展名区分文件类型:

  1. .frm--存储资料表定义,此文件非MyISAM引擎的一部分。

  2. .MYD--存放真正的资料。

  3. .MYI--存储索引信息。

复述展开

MyISAM 是 MySQL的一种数据库引擎,(MyISAM 在MySQL 5.5版本之前还是默认引擎,之后是innoDB),它由 ISAM 改良而来,支持全文索引,不支持事务ACID,表级锁定。

MySQL 中 innoDB VS MyISAM

参考:

MySQL :: MySQL 8.0 Reference Manual :: 16.2 The MyISAM Storage Engine

MySQL中各个引擎的对比:【Comparison of MySQL database engines - Wikipedia】

相关文章