相关文件10bet官方网站 本手册下载
PDF (Ltr)- 36.3 mb
PDF (A4)- 36.4MB.
PDF (RPM)- 35.6MB.
HTML下载(TGZ)- 9.4 mb
HTML下载(邮政编码)- 9.4 mb
HTML下载(RPM)- 8.0MB.
手册页(TGZ)- 235.4KB.
男人页(zip)- 347.0KB.
信息(GZIP)- 3.3 mb
信息(zip)- 3.3 mb
从本手册中摘录

15.2 MyISAM存储引擎

MyISAM基于较旧的(且不再可用)ISAM存储引擎,但有许多有用的扩展。

表15.2 MyISAM存储引擎功能

功能 支持
b -树索引 是的
备份/恢复时间点(在服务器中实现,而不是在存储引擎中。) 是的
群集数据库支持
聚集索引
压缩数据 是(仅在使用压缩行格式时支持压缩的MyISAM表。只读使用带有Myisam的压缩行格式的表。)
数据库库
加密的数据 是(通过加密函数在服务器中实现。)
外国钥匙支持
全文搜索索引 是的
地理空间数据类型支持 是的
地理空间索引支持 是的
哈希索引
索引缓存 是的
锁的粒度 桌子
MVCC.
复制支持(在服务器中实现,而不是在存储引擎中。) 是的
存储限制 256年结核病
T树索引
交易
更新数据字典的统计信息 是的

每一个MyISAM表在三个文件中存储在磁盘上。文件具有以表名开头的名称,并具有指示文件类型的扩展名。一个.frm文件存储表格格式。数据文件有一个.MYD.(MYData)扩展。索引文件有一个。我的我(myIndex.)扩展。

来显式指定您想要的MyISAM表中,用an表示引擎表选项:

CREATE TABLE t (i INT) ENGINE = MYISAM; / /创建表

在MySQL 5.7中,通常需要使用引擎指定MyISAM存储引擎,因为InnoDB是默认引擎。

你可以检查或修理MyISAM表的mysqlcheck客户端或myisamchk实用程序。你也可以压缩MyISAM表与yyisampack.占用更少的空间。看到第4.5.3节,“mysqlcheck -表维护程序”,第4.6.3节“Myisamchk - Myisam表维护实用程序”, 和第4.6.5节“Myisampack - 生成压缩,只读Myisam表”

MyISAM表格有以下特点:

  • 首先使用低字节存储所有数据值。这使得数据机器和操作系统无关。二进制可移植性的唯一要求是机器使用两个人的签名整数和IEEE浮点格式。这些要求广泛应用于主流机中。二进制兼容性可能不适用于嵌入式系统,有时具有特殊处理器。

    首先将数据存储低字节没有显着的速度惩罚;表行中的字节通常是未对准的,并且在顺序中以顺序读取未对齐的字节需要几乎不足。此外,与其他代码相比,从服务器中获取列值的代码不是时间。

  • 首先使用高字节存储所有数字键值以允许更好的索引压缩。

  • 支持大文件的文件系统和操作系统支持大文件(最大63位文件长度)。

  • 有一个极限32)2(1.844E+19)行MyISAM桌子。

  • 每个索引数MyISAM表是64。

    每个索引的最大列数是16。

  • 最大密钥长度为1000字节。这也可以通过更改源代码和重新编译来更改。如果密钥长度大于250字节,则使用大于缺省值1024字节的密钥块大小。

  • 当行按排序顺序插入时(如使用自动递增列),则拆分索引树,使高节点只包含一个键。这提高了索引树中的空间利用率。

  • 内部处理一个自动递增支持每个表的列。MyISAM自动更新此列更新操作。这使得自动递增列速度更快(至少10%)。序列顶部的值在被删除后不会被重用。(当一个自动递增列被定义为多列索引的最后一列,从序列顶部删除的值的重用确实发生。)自动递增值可以用ALTER TABLE或者myisamchk

  • 当混合删除、更新和插入时,动态大小的行碎片更少。这是通过自动组合相邻删除块和扩展块来完成的,如果下一个块被删除。

  • MyISAM支持并发插入:如果一个表的数据文件中间没有空闲块,可以这样做在其他线程从表中读取数据的同时,向表中添加新的行。删除行或更新包含比当前内容更多数据的动态长度行的结果可能是空闲块。当所有的空闲块都用完(填满)后,以后的插入将再次并发。看到第8.11.3节,“并发插入”

  • 您可以将数据文件和索引文件放在不同物理设备上的不同目录中,以获得更高的速度数据目录索引目录表选项创建表。看到Section 13.1.18, " CREATE TABLE Statement "

  • 斑点文本可以对列建立索引。

  • 空值索引列中允许值。每个钥匙需要0到1个字节。

  • 每个字符列可以具有不同的字符集。看到第十章,字符集,排序规则,Unicode

  • 有一个旗帜MyISAM指示表是否正确关闭的索引文件。如果mysqld开始了myisam_recover_options.系统变量集,MyISAM打开表时会自动检查表,如果表没有正确关闭,则修复表。

  • myisamchk将表标记为已检查,如果使用——update-state选项。myisamchk - 快餐只检查那些没有此标记的表。

  • myisamchk - 分析存储键的统计信息,以及整个键。

  • yyisampack.可以包斑点VARCHAR列。

MyISAM还支持以下功能:

  • 支持一个真正的VARCHAR类型;一种VARCHAR列从一个或两个字节中存储的长度开始。

  • 表与VARCHAR列可以有固定的或动态的行长度。

  • 长度的和VARCHARchar表中的列最多可达64KB。

  • 任意长度独特的约束。

额外的资源