MySQL各存储引擎特点

MySQL有多种存储引擎,每种存储引擎有各自的优缺点,可以择优选择使用:

MyISAM、InnoDB、 MERGEMEMORY( HEAP)、BDB(BerkeleyDB)、 EXAMPLE、FEDERATED、 ARCHIVECSV、BLACKHOLE。

MySQL支持数个存储引擎作为对不同表的类型的处理器。MySQL存储引擎包括处理事务安全表的引擎和处理非事务安全表的引擎:

· MyISAM管理非事务表。它提供高速存储和检索,以及全文搜索能力。MyISAM在所有MySQL配置里被支持,它是默认的存储引擎,除非你配置MySQL默认使用另外一个引擎。

· MEMORY存储引擎提供“内存中”表。 MERGE存储引擎允许集合将被处理同样的MyISAM表作为一个单独的表。就像MyISAM一样, MEMORYMERGE存储引擎处理非事务表,这两个引擎也都被默认包含在MySQL中。

注释:MEMORY存储引擎正式地被确定为 HEAP引擎。

· InnoDB和BDB存储引擎提供事务安全表。BDB被包含在为支持它的 操作系统发布的MySQL-Max二进制分发版里。InnoDB也默认被包括在所 有MySQL 5.1二进制分发版里,你可以按照喜好通过配置MySQL来允许或禁止任一引擎。

· EXAMPLE存储引擎是一个“存根”引擎,它不做什么。你可以用这个引擎创建表,但没有数据被存储于其中或从其中检索。这个引擎的目的是服务,在 MySQL源代码中的一个例子,它演示说明如何开始编写新存储引擎。同样,它的主要兴趣是对开发者。

· NDB Cluster是被MySQL Cluster用来实现分割到多台计算机上的表的存储引擎。它在MySQL-Max 5.1二进制分发版里提供。这个存储引擎当前只被Linux, Solaris, 和Mac OS X 支持。在未来的MySQL分发版中,我们想要添加其它平台对这个引擎的支持,包括Windows。

· ARCHIVE存储引擎被用来无索引地,非常小地覆盖存储的大量数据。

· CSV存储引擎把数据以逗号分隔的格式存储在文本文件中。

· BLACKHOLE存储引擎接受但不存储数据,并且检索总是返回一个空集。

· FEDERATED存储引擎把数据存在远程数据库中。在MySQL 5.1中,它只和MySQL一起工作,使用MySQL C Client API。在未来的分发版中,我们想要让它使用其它驱动器或客户端连接方法连接到另外的数据源。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: MySQL所有支持的存储引擎包括: 1. InnoDB:这是MySQL的默认存储引擎。它支持事务、行级锁和外键等特性。 2. MyISAM:这是MySQL中较早的存储引擎之一。它不支持事务和行级锁,但是具有高性能和压缩特性。 3. Memory:这个存储引擎将所有数据存储在内存中,因此速度非常快。但是,数据不会持久化,这意味着在重启服务器后,数据将会丢失。 4. CSV:这个存储引擎将数据存储在逗号分隔的文件中。它对于导入和导出数据非常方便,但不支持索引和事务等功能。 5. Blackhole:这个存储引擎不会实际存储数据,它只是将写入的数据转发到其他MySQL服务器上。因此,它适用于日志记录和数据分发等应用场景。 6. Merge:这个存储引擎允许将多个MyISAM表合并成一个虚拟表,使查询变得更加方便。 7. Federated:这个存储引擎允许将数据存储在远程服务器上,而在本地服务器上查询数据,使得数据分布式管理变得更加容易。 除此之外,还有一些其他的存储引擎,如Archive、Example、NDB Cluster、Partition等。不同的存储引擎具有不同的特点和应用场景,开发者可以根据实际需求选择适合的存储引擎。 ### 回答2: MySQL是一款常见的关系型数据库管理系统,提供了多种存储引擎供用户选择。以下是MySQL中常见的几种存储引擎: 1. InnoDB引擎:InnoDB是MySQL的默认存储引擎,支持事务处理和行级锁定。它具有高度的可靠性和稳定性,支持崩溃恢复和多版本并发控制(MVCC)等特性。 2. MyISAM引擎:MyISAM是MySQL最早的存储引擎,它支持全文索引和表级锁定,但不支持事务处理。它在读操作上性能较好,适用于读多写少的场景。 3. Memory引擎:Memory引擎将数据存储在内存中,因此读写速度非常快,适用于对速度要求较高的应用。但它的数据是临时存储的,当数据库关闭时数据会丢失。 4. Archive引擎:Archive引擎适用于大量历史数据的存储,它具有高度的压缩比和快速的插入速度,但不支持更新和删除操作。 5. CSV引擎:CSV引擎以纯文本形式存储数据,采用逗号分隔值的格式。它对于导入和导出数据非常方便,但不支持索引、事务等功能。 6. Blackhole引擎:Blackhole引擎不会实际存储数据,它只接受写操作并将数据丢弃。这在复制和分发数据时非常有用。 除了以上几种常见的存储引擎外,MySQL还提供了其他一些存储引擎,如FederatedX引擎、Merge引擎等,它们具有各自的特点和适用场景。根据实际需求,用户可以选择合适的存储引擎来优化数据库的性能和功能。 ### 回答3: MySQL是一个关系型数据库管理系统,内部提供了多种存储引擎来支持数据存储和查询。以下是MySQL的一些常见存储引擎: 1. InnoDB:这是MySQL默认的存储引擎,也是最常用的引擎之一。它支持事务、行级锁定和外键约束等功能,适用于大部分的应用场景。 2. MyISAM:这是另一种常见的存储引擎,主要用于读密集型的应用。它不支持事务和行级锁定,但它的查询性能很高。 3. Memory:这个存储引擎将数据存储在内存中,速度非常快,但数据不会持久化。适用于缓存和临时数据存储。 4. Archive:这个存储引擎用于高度压缩的只读数据。它对于大量历史数据的存储非常有效,但写入和查询速度较慢。 5. CSV:这个存储引擎将数据存储为逗号分隔值文件,适用于导入和导出数据。 6. Blackhole:这个存储引擎直接丢弃所有写入数据,对于备份和复制很有用。 7. NDB:这是一个高度可扩展的存储引擎,适用于分布式数据库和高并发应用。 8. Federated:这个存储引擎可以将数据保存在远程服务器上,允许在多个数据库之间共享数据。 以上列出的存储引擎只是MySQL提供的一部分,每个存储引擎都有自己的特性和适用场景。选择合适的存储引擎取决于应用的需求和性能要求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值