WEB开发网
开发学院数据库MySQL 什么是myisam 阅读

什么是myisam

 2008-10-17 11:12:53 来源:WEB开发网   
核心提示:MyISAM是默认存储引擎,它基于更老的ISAM代码,什么是myisam,但有很多有用的扩展,(注意MySQL 5.1不支持ISAM),这要通过合并相邻被删除的块,以及若下一个块被删除,每个MyISAM在磁盘上存储成三个文件,第一个文件的名字以表的名字开始

MyISAM是默认存储引擎。它基于更老的ISAM代码,但有很多有用的扩展。(注意MySQL 5.1不支持ISAM)。

每个MyISAM在磁盘上存储成三个文件。第一个文件的名字以表的名字开始,扩展名指出文件类型。.frm文件存储表定义。数据文件的扩展名为.MYD (MYData)。索引文件的扩展名是.MYI (MYIndex)。

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

CREATE TABLE t (i INT) ENGINE = MYISAM;

注释:老版本的MySQL使用TYPE而不是ENGINE(例如,TYPE = MYISAM)。MySQL 5.1为向下兼容而支持这个语法,但TYPE现在被轻视,而ENGINE是首先的用法。

一般地,ENGINE选项是不必要的;除非默认已经被改变了,MyISAM是默认存储引擎。

你可以用myisamchk工具来检查或修复MyISAM表。请参阅5.9.5.6节,“使用myisamchk做崩溃恢复”。你也可以用myisampack来压缩MyISAM表,让它们占更少的空间。请参阅8.2节,“myisampack,产生压缩、只读的MyISAM表”。

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

· 所有数据值先存储低字节。这使得数据机和操作系统分离。二进制轻便性的唯一要求是机器使用补码(如最近20年的机器有的一样)和IEEE浮点格式(在主流机器中也完全是主导的)。唯一不支持二进制兼容性的机器是嵌入式系统。这些系统有时使用特殊的处理器。

先存储数据低字节并不严重地影响速度;数据行中的字节一般是未联合的,从一个方向读未联合的字节并不比从反向读更占用更多的资源。服务器上的获取列值的代码与其它代码相比并不显得时间紧。

· 大文件(达63位文件长度)在支持大文件的文件系统和操作系统上被支持。

· 当把删除和更新及插入混合的时候,动态尺寸的行更少碎片。这要通过合并相邻被删除的块,以及若下一个块被删除,就扩展到下一块来自动完成。

1 2 3 4 5 6  下一页

Tags:什么 myisam

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接