首页 > 数据库

1.5. MySQL存储引擎

时间:2009-04-29 16:50:40  作者:HopingWhite  我要投稿
Linux初探欢迎您的投稿,投放方法请点击这里查看,我们会定期赠送精美小礼品给优秀的投稿作者。海纳百川 取则行远!LinuxGoo欢迎您的到来。
1.5. MySQL存储引擎本节主要针对MySQL的存储引擎做一个大致的介绍。在这一节,我们不会太深入细节,因为我们将在整本书中来讨论存储引擎和它们各自的一些行为。但是......

1.5. MySQL存储引擎

本节主要针对MySQL的存储引擎做一个大致的介绍。在这一节,我们不会太深入细节,因为我们将在整本书中来讨论存储引擎和它们各自的一些行为。但是本书不会是一个完整的源代码文档,如果你一旦决定使用某种存储引擎的话,你应该去看这个存储引擎对应的MySQL官方文档。MySQL针对每个存储引擎也有各自的论坛,论坛上通常会有一些有趣和有用的链接。

如果你只是想要在一个比较高的层面来比较一下各个存储引擎,你可以直接跳到表1-3。

MySQL在底层的文件系统上将每个数据库(也被称为schema)的数据文件夹存储为单独的子文件。当你创建一个表时,MySQL将这个表的定义存储在一个后缀为frm的文件里,文件名即是表名。因此当你创建一个名为MyTable的表时,MySQL将这个表的定义存储在文件MyTable.frm中。因为MySQL利用底层文件系统来保存数据库名和表定义,因此是否大小写敏感取决于使用的平台。在一个基于Windows的MySQL实例上,表和数据库名是大小写不敏感的;而在类Unix系统上,它们是大小写敏感的。每一种存储引擎对于数据和索引的存储是不一样的,但是关于表的定义却是由服务器层来完成的。

如果想要确定一张指定表的存储引擎是什么,可以使用SHOW TABLE STATUS命令来决定。例如,想要确定mysql数据库中的user表的存储引擎,可以执行如下命令:

image

输出显示这是一个MyISAM表。你可能也注意到了许多许多的信息以及一些统计结果。我们来简单地看一下每一行都代表什么意思:

Name

表的名称

Engine

表的存储引擎。在早些的MySQL版本中,这一列被称为Type而不是Engine。

Row_format

行的格式。对于一个MyISAM表来说,这个项的取值可能为Dynamic,Fixed或者Compressed。动态行(Dynamic)表示它的一行数据的长度是可变的,因为它包含了一个变长的字段类型,比如VARCHAR或者BLOB。固定行(Fixed)有固定的大小,均是由不可变长度的类型组成的,比如CHAR和INTEGER。压缩行(Compressed)只存在于压缩的表中,详细的信息可以查看“压缩的MyISAM表”。

如果您需转载 1.5. MySQL存储引擎,请注明来自LinuxGoo.com,其版权归原作者所有。请广大网友留言时遵纪守法,使用文明用语。如果您在应用中有什么问题,请在下面留言,我们会尽快解答。
来顶一下
近回首页
返回首页
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
相关文章
栏目热门