`
风雪涟漪
  • 浏览: 508776 次
  • 性别: Icon_minigender_1
  • 来自: 大连->北京
博客专栏
952ab666-b589-3ca9-8be6-3772bb8d36d4
搜索引擎基础(Search...
浏览量:9069
Ae468720-c1b2-3218-bad0-65e2f3d5477e
SEO策略
浏览量:18487
社区版块
存档分类
最新评论

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"。

 

 

2
0
分享到:
评论

相关推荐

    MySQL逻辑架构-存储引擎-用户权限密码详解

    服务层是MySQL架构的最上层,主要负责客户端的连接处理、授权认证以及安全检查,为客户端提供访问MySQL服务的接口。 核心层主要包含查询解析、分析优化SQL语句,以及缓存查询结果等功能,是MySQL处理数据的核心部分...

    MySQL-client-5.6.29-1.linux_glibc2.5.x86_64,MySQL-server-5.6.29-1.linux_glibc

    本压缩包包含的是MySQL的客户端和服务器端的5.6.29版本,适用于Linux_glibc2.5.x86_64架构。这个版本在当时是MySQL的一个稳定版本,提供了许多功能和性能改进。 MySQL-client是用于与MySQL服务器进行交互的工具集,...

    mysql57-community-release-el7-11.noarch.rpm

    1. **性能提升**:MySQL 5.7通过优化查询执行引擎、缓存策略和InnoDB存储引擎提供了显著的性能提升,使得处理大数据集更加高效。 2. **InnoDB增强**:InnoDB存储引擎在5.7版本中得到了显著强化,包括支持更大的索引...

    mysql-cluster-8.0.20-winx64.zip

    5. **8.0.20版本特性**:此版本包含了MySQL 8.0的主要改进,如优化的InnoDB存储引擎,增强的JSON支持,新的SQL功能,以及性能和安全性的提升。 6. **安装与配置**:解压“mysql-cluster-8.0.20-winx64.zip”后,...

    mysql80-community-release-el8-1.noarch.7z

    - InnoDB 存储引擎增强:包括对大页内存的支持,改进的行格式,以及更好的性能监控。 - 查询优化器改进:采用了新的统计信息收集策略,提升了查询计划的准确性。 - 分区表改进:支持更多的分区类型和操作,例如在线...

    mysql-community-server-8.4.0-1.el9.x86-64

    10. **性能优化**:此版本的MySQL支持InnoDB存储引擎的性能优化,如InnoDB Buffer Pool、索引优化、并行查询处理等,以提高数据读写速度和整体性能。 总之,`mysql-community-server-8.4.0-1.el9.x86_64`是为RHEL/...

    MySQL-5.5.28-winx64安装包以及说明文档

    - **存储引擎**:MySQL支持多种存储引擎,如InnoDB(支持事务处理和外键)、MyISAM(快速读取,不支持事务)和Memory(数据存储在内存中)。选择合适的存储引擎对性能有很大影响。 - **索引**:创建索引可以加速...

    mysql-boost-5.7.20.tar.gz

    MySQL是世界上最受欢迎的开源关系型数据库管理系统之一,其性能强大且功能丰富,广泛应用于网站开发、数据存储和处理等场景。Boost是一个C++库集合,提供了各种工具来增强应用程序的性能,包括线程管理、正则表达式...

    mysql-connector-java-5.1.30-bin.rar

    MySQL是世界上最受欢迎的关系型数据库管理系统之一,而MySQL Connector/J则是MySQL官方提供的用于Java应用程序的数据...通过合理的架构设计和安全实践,可以有效地利用此驱动程序实现Android与MySQL之间的数据交换。

    MySQL驱动 mysql-connector-net-6.4.4

    2. **SQL命令执行**:`MySqlCommand`类允许执行SQL查询和存储过程。开发者可以通过设置`CommandText`属性来指定SQL语句,然后调用`ExecuteReader`、`ExecuteNonQuery`或`ExecuteScalar`方法来获取结果。 3. **数据...

    mysql-for-visualstudio-1.2.9_mysqlvs_

    MySQL for Visual Studio 1.2.9 是一个专为Visual Studio设计的插件,它为开发者提供了一套集成的工具,使得在Visual Studio环境中开发、管理和部署MySQL数据库变得更加便捷高效。这个插件允许开发者直接在Visual ...

    rpm-MySQL-client-server-5.6.23-1.el6.x86_64

    MySQL 5.6版本是一个较旧但仍然稳定且功能丰富的版本,它引入了许多性能改进和新特性,如InnoDB存储引擎的增强,支持更多SQL标准,以及更高效的查询优化器。 在Linux CentOS环境下安装MySQL,通常会通过命令行使用...

    mysql-5.7.32-linux-glibc-2.28-aarch64.tar.gz

    总的来说,"mysql-5.7.32-linux-glibc-2.28-aarch64.tar.gz"是为ARM架构设计的MySQL版本,旨在为基于ARM的设备提供稳定且高效的数据存储和管理解决方案。正确安装和配置MySQL 5.7.32,可以充分利用这些设备的潜力,...

    最新mysql-connector-java-5.1.46(领附MySQL向Oracle迁移教程)

    此外,提到“MySQL向Oracle迁移教程”,这通常涉及到数据库架构的转换、数据迁移、性能优化等复杂过程。在迁移过程中,需要注意以下几点: 1. **兼容性检查**:评估两个数据库系统的兼容性,如数据类型、SQL语法、...

    mysql-essential-5.0.45

    1. **事务处理支持**: MySQL 5.0引入了InnoDB存储引擎,提供了ACID(原子性、一致性、隔离性、持久性)事务支持,这对于需要高度数据一致性的应用至关重要。 2. **SQL标准兼容性**: MySQL 5.0增强了对SQL92和SQL99...

    mysql-8.0.31-winx64-debug-test.zip

    8. **开发与调试**:对于开发者来说,使用调试版本的MySQL可以深入理解数据库引擎的工作原理,定位性能瓶颈或内存泄漏等问题。他们可以使用GDB、Visual Studio等调试工具,结合日志和调试信息进行问题排查。 9. **...

    mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz

    - **InnoDB存储引擎增强**:MySQL 5.7对InnoDB存储引擎进行了大量改进,包括更快的插入速度、更高的并发性和更小的数据文件占用空间。 - **JSON支持**:增加了对JSON数据类型的内置支持,允许用户在关系数据库中...

    mysql-cluster-gpl-7.2.4-win32

    MySQL Cluster的核心在于其NDB(Network Database)存储引擎,它采用了Shared Nothing架构,即所有节点之间无共享硬件或磁盘,数据在多个节点间分布,以实现高可用性和可扩展性。在7.2.4版本中,这一特性得到了...

    mysql源码(mysql-8.2.0.zip)

    MySQL的源码分析可以帮助我们深入了解其内部工作机制,包括查询优化、事务处理、存储引擎等核心功能。`mysql-8.2.0.zip`是MySQL的一个特定版本,以下是关于这个版本的一些关键知识点: 1. **版本更新**:MySQL ...

Global site tag (gtag.js) - Google Analytics