WEB开发网
开发学院数据库MySQL MySQL 架构 - MySQL 存储引擎 阅读

MySQL 架构 - MySQL 存储引擎

 2009-06-03 11:18:54 来源:WEB开发网   
核心提示:这部分简单介绍MySQL存储引擎,不会深入讲述的,MySQL 架构 - MySQL 存储引擎,因为本教程从始至终贯穿了MySQL存储引擎的相关细节,本教程也不是完全的指导手册,会显示表空间的剩余空间,如果这个表是视图,详细的可以参考MySQL官方文档,MySQL也有论坛来专门讨论每个存储引擎的

这部分简单介绍MySQL存储引擎,不会深入讲述的,因为本教程从始至终贯穿了MySQL存储引擎的相关细节。本教程也不是完全的指导手册,详细的可以参考MySQL官方文档。MySQL也有论坛来专门讨论每个存储引擎的。经常提供些额外的信息和有趣的方法来使用它们。

MySQL都把数据库以子目录的形式存放在它安装目录的data目录下。当你新建一张表,MySQL就生成一个和表名一样的文件存放在这个子目录中。于是,当你创建一个表为MyTable,MySQL存储这个表为MyTable.frm文件。因为MySQL用文件系统来存储数据库和表定义的。是否区分大小写完全取决操作系统。在Windows上的MySQL就不会区分大小写。类Unix系统就会区分大小写。任何的存储引擎对于数据和索引的存储都是不同的。但是操作表的定义是由服务器来做的。

要查看表的存储引擎是什么可以使用SHOW TABLE STATUS命令。一个例子,要查看mysql数据库下user表。执行以下命令

mysql> SHOW TABLE STATUS LIKE 'user' G

*************************** 1. row ***************************

           Name: user

         Engine: MyISAM

     Row_format: Dynamic

           Rows: 6

 Avg_row_length: 59

    Data_length: 356

Max_data_length: 4294967295

   Index_length: 2048

      Data_free: 0

 Auto_increment: NULL

    Create_time: 2002-01-24 18:07:17

    Update_time: 2002-01-24 21:56:29

     Check_time: NULL

      Collation: utf8_bin

       Checksum: NULL

 Create_options:

        Comment: Users and global privileges

1 row in set (0.00 sec)

这个结果看的出来,存储引擎是MyISAM。你可能也想知道其他信息的意思。让我们解释一下

Name

     表的名称

Engine

     表的存储引擎,旧的版本,这个不叫Engine叫做Type

Row_format

     行的格式。对于MyISAM表,格式为三种,Dynamic,Fixed,Compressed。Dynamic行,在长度上是可变的。因为它包含了变量长度的字段如VARCHAR,BLOB. Fixed行,总是固定的长度。字段是定长的。如CHAR,INTEGER。

Compressed行,仅仅可以应用在compressed tables。将在以后有个介绍。

Rows

     这个表的行数。对于非事物的表,这个数字是精确的。对于支持事物的表,这个值是估算的。

Avg_row_length

     每一行所包含的平均字节

Data_length

     整个表包含的字节。

Max_data_length

     这个表可最大存储的字节数。

Index_length

    索引所消耗的硬盘空间。

Data_free

    对于MyISAM表。总的分配空间。但是并没有使用。这个空间存储以前所删除的行。可能会被以后的INSERT语句恢复。

Auto_increment

    下一个Auto_increment的值

Create_time

     表第一次创建的时间

Update_time

     表最后更改的时间

Check_time

     最近一次使用CHECK或者myisamchk的时间。

Collation

     表中的字符字段的默认字符集和排序

Checksum

     如果enabled,就会计算这个表内容之和。

Create_options

    当表创建时,所添加额外的参数。

Comment

    表的额外信息。对于MyISAM表。它包含了评论,可以在表创建的时候添加任意的信息。如果InnoDB。会显示表空间的剩余空间。如果这个表是视图,这里显示"VIEW"。

Tags:MySQL 架构 MySQL

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