`
leng_cn
  • 浏览: 301971 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

MySQL两种表存储结构

阅读更多
MySQL Administrator建数据库的时候,表缺省是InnoDB类型,也就没有在意。后来用Access2MySQL导数据的时候发现只能导成MyISAM类型的表,不知道这两种类型有什么区别,就去查了查。原来是MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持。MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快,但是不提供事务支持,而InnoDB提供事务支持已经外部键等高级数据库功能。这样就可以根据数据表不同的用处是用不同的存储类型。

另外,MyISAM类型的二进制数据文件可以在不同操作系统中迁移。也就是可以直接从Windows系统拷贝到linux系统中使用。


从MySQL的官方网站,参考手册中可以了解到在MySQL4.1中所支持的如下类型:

Storage Engines and Table Types MySQL supports several storage engines that act as handlers for different table types. MySQL storage engines include both those that handle transaction-safe tables and those that handle non-transaction-safe tables:
The original storage engine was ISAM, which managed non-transactional tables. This engine has been replaced by MyISAM and should no longer be used. It is deprecated in MySQL 4.1, and is removed in subsequent MySQL release series.

In MySQL 3.23.0, the MyISAM and HEAP storage engines were introduced. MyISAM is an improved replacement for ISAM. The HEAP storage engine provides in-memory tables. The MERGE storage engine was added in MySQL 3.23.25. It allows a collection of identical MyISAM tables to be handled as a single table. All three of these storage engines handle non-transactional tables, and all are included in MySQL by default. Note that the HEAP storage engine has been renamed the MEMORY engine.

The InnoDB and BDB storage engines that handle transaction-safe tables were introduced in later versions of MySQL 3.23. Both are available in source distributions as of MySQL 3.23.34a. BDB is included in MySQL-Max binary distributions on those operating systems that support it. InnoDB also is included in MySQL-Max binary distributions for MySQL 3.23. Beginning with MySQL 4.0, InnoDB is included by default in all MySQL binary distributions. In source distributions, you can enable or disable either engine by configuring MySQL as you like.

The EXAMPLE storage engine was added in MySQL 4.1.3. It is a “stub” engine that does nothing. You can create tables with this engine, but no data can be stored in them or retrieved from them. The purpose of this engine is to serve as an example in the MySQL source code that illustrates how to begin writing new storage engines. As such, it is primarily of interest to developers.

NDB Cluster is the storage engine used by MySQL Cluster to implement tables that are partitioned over many computers. It is available in source code distributions as of MySQL 4.1.2 and binary distributions as of MySQL-Max 4.1.3.

The ARCHIVE storage engine was added in MySQL 4.1.3. It is used for storing large amounts of data without indexes in a very small footprint.

The CSV storage engine was added in MySQL 4.1.4. This engine stores data in text files using comma-separated values format.

The BLACKHOLE storage engine was added in MySQL 4.1.11. This engine accepts but does not store data and retrievals always return an empty set.
分享到:
评论

相关推荐

    MySQL两种表存储结构MyISAM和InnoDB的性能比较测试

    本文将对这两种存储结构进行性能比较测试,以了解它们在不同的场景下的性能差异。 MyISAM 存储结构 MyISAM 是 MySQL 的默认存储引擎,它使用 B+ 树索引来存储数据。MyISAM 的主要特点是: * 非事务安全:MyISAM ...

    Mysql数据库表结构差异性对比工具

    2. **获取表信息**:连接成功后,脚本会查询每个数据库中的所有表,并存储其结构信息,包括字段名、字段类型、是否允许NULL、默认值、索引等。 3. **对比分析**:然后,脚本将比较两组表结构,查找并记录差异。这...

    mysql 树形结构查询

    MySQL 中的树形结构查询可以使用存储过程来实现,存储过程是一种复杂的查询逻辑,可以将复杂的查询逻辑封装在存储过程中,以提高查询效率和简化查询逻辑。存储过程可以根据需要设置递归深度,以控制查询的深度。 ...

    mysql-存储引擎-实验四.docx

    在实验中,我们将 MyISAM 引擎的表修改为 InnoDB 引擎,并比较了两种存储引擎的特点和使用方法。在 MySQL 中,可以使用 ALTER TABLE 语句将表的存储引擎修改为其他类型。 4. 建立学生表,学号 3188909101 开始自动...

    MySQL内核:InnoDB存储引擎 卷1.pdf.zip

    段、区、页等概念是InnoDB存储结构的基础,它们共同构成了InnoDB的数据组织方式。 深入学习《MySQL内核:InnoDB存储引擎 卷1》,读者可以了解到InnoDB的内部工作机制,如如何处理B+树索引、事务的提交与回滚、锁的...

    mysql存储与索引技术

    MySQL 的索引分为两种主要类型:MyISAM 使用非聚集索引,索引与数据分开存储,而 InnoDB 使用聚集索引,索引和数据在同一结构中,因此 InnoDB 的索引支持更快的查找,但不支持全文检索。在索引优化方面,最左前缀...

    MySQL-Front导出mysql数据库结构到pdf、html

    这两种格式都允许你在无需MySQL-Front的情况下查看和理解数据库结构,这对于团队协作和知识转移尤其有价值。 在实际应用中,可能还需要根据项目需求调整导出设置,例如,如果数据库庞大,可能需要分批导出或者仅...

    MySQL存储引擎简介

    在索引方面,虽然两种存储引擎都支持B树索引,但InnoDB还支持数据缓存和索引缓存,这增强了数据访问的速度和效率。 选择合适的存储引擎对于数据库的性能至关重要。例如,对于一个以读写操作为主的微博系统,可以...

    mysql存储过程教程

    MySQL存储过程是数据库管理系统中的一种重要功能,它允许开发者预编译一系列SQL语句并封装成一个可重复使用的单元,从而提高数据处理的效率和代码的复用性。本教程将深入探讨MySQL存储过程的创建、调用以及相关概念...

    linux下mysql的操作与存储过程

    `table.txt`可能是描述数据库表结构的文件,通常包含`CREATE TABLE`语句,用于创建数据表。 四、其他高级操作 1. 触发器(Triggers):在特定事件(如INSERT、UPDATE、DELETE)发生时自动执行的SQL语句。 2. 视图...

    MySql 和Oracle 数据库结构导出Word

    MySQL和Oracle是两种广泛使用的数据库管理系统,它们在数据存储、查询和管理方面有着各自的特点和优势。本项目主要关注如何将这两个数据库的结构导出为Word文档,这在数据库设计、文档整理或迁移过程中非常实用。 ...

    MySQL2:四种MySQL存储引擎.doc

    以下是关于MySQL中两种主要存储引擎——InnoDB和MyISAM的详细说明: 1. InnoDB存储引擎: - InnoDB是MySQL的默认存储引擎,特别适合处理事务安全的数据,支持ACID(原子性、一致性、隔离性、持久性)特性。 - 它...

    Mysql5存储过程中文详解

    MySQL5.0的存储过程支持两种类型:存储过程和函数。存储过程通常用于执行复杂的数据库操作,而函数则用于返回一个特定的结果值,类似于内置的数学或字符串函数。 ### 为什么使用存储过程? 1. **代码重用**:存储...

    mysql 存储过程 实战

    MySQL 存储过程是一种预编译的 SQL 脚本,它可以包含复杂的逻辑控制结构、循环等操作,并且可以接受参数,执行完后还可以返回结果。存储过程可以提高数据处理效率、减少网络传输量,并能方便地重复使用代码。 #### ...

    MySQL存储过程.pdf

    存储过程可以访问数据库的元数据,例如数据库schema、表结构和索引信息等。这些元数据可以用来优化数据库的性能和可维护性。 函数 存储过程可以调用其他存储过程或函数,实现复杂的业务逻辑。这些函数可以用来实现...

    MySQL实现创建存储过程并循环添加记录的方法

    在MySQL数据库中,存储过程是一种预编译的SQL语句集合,它可以封装一系列的操作,用于执行复杂的业务逻辑。创建存储过程并循环添加记录是数据库管理中的常见任务,尤其是在需要批量插入数据时。以下将详细解释如何在...

    mysql存储过程电子书,可以参考

    MySQL存储过程是数据库管理系统中的一种重要功能,它允许开发者预定义一组SQL语句,并将其封装成一个可重复使用的单元。这个电子书显然专注于探讨MySQL存储过程的各个方面,为学习者提供了一个深入理解、创建和使用...

Global site tag (gtag.js) - Google Analytics