Mysql 存储引擎之 MyISAM存储引擎

MyISAM是默认存储引擎。
每个MyISAM在磁盘上存储成三个文件。.frm文件存储表定义;.MYD文件存储数据;.MYI文件存储索引。
这里写图片描述

要明确表示你想要用一个MyISAM表格,请用ENGINE表选项指出来:

CREATE TABLE test_myisam(
    id INT
)ENGINE=MYISAM;

2、如下是MyISAM存储引擎的一些特征:

  • 你可以把数据文件和索引文件放在不同目录,用DATA DIRECTORY和INDEX DIRECTORY选项CREATE TABLE以获得更高的速度,请参阅13.1.5节,“CREATE TABLE语法”。

15.1.1. MyISAM启动选项

15.1.2.键所需的空间

 MyISAM表使用B型树索引。

15.1.3. MyISAM表的存储格式

MyISAM支持三种不同存储格式,MyISAM支持三种不同存储格式。其中两个(固定格式和动态格式)根据正使用的列的类型来自动选择。第三个,即已压缩格式,只能使用myisampack工具来创建。
当你CREATE或ALTER一个没有BLOB或TEXT列的表,你可以用ROW_FORMAT表选项强制表的格式为FIXED或DYNAMIC。这会导致CHAR和VARCHAR列因FIXED格式变成CHAR,或因DYNAMIC格式变成VARCHAR。
通过用ALTER TABLE指定ROW_FORMAT={COMPRESSED | DEFAULT},你可以压缩或解压缩表,请参阅13.1.5节,“CREATE TABLE语法”。

15.1.3.1. 静态(固定长度)表特征

静态格式是MyISAM表的默认存储格式。当表不包含变量长度列(VARCHAR, BLOB, 或TEXT)时,使用这个格式。每一行用固定字节数存储。

静态格式表的一般特征:

  • CHAR列对列宽度是空间填补的。
  • 非常快。
  • 容易缓存。
  • 崩溃后容易重建,因为记录位于固定位置。
  • 重新组织是不必要的,除非你删除巨量的记录并且希望为操作系统腾出磁盘空间。为此,可使用OPTIMIZE TABLE或者myisamchk -r。
  • 通常比动态格式表需要更多的磁盘空间。

15.1.3.2. 动态表特征

如果一个MyISAM表包含任何可变长度列(VARCHAR, BLOB或TEXTDynamic),或者如果一个表被用ROW_FORMAT=DYNAMIC选项来创建,动态存储格式被使用。

15.1.3.3. 已压缩表特征

已压缩存储格式是由myisampack工具创建的只读格式。

猜你喜欢

转载自blog.csdn.net/eddy23513/article/details/80778232