共计 1836 个字符,预计需要花费 5 分钟才能阅读完成。
这篇文章将为大家详细讲解有关 MySQL 数据库中存储引擎的作用是什么,文章内容质量较高,因此丸趣 TV 小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
MySQL 数据库各种存储引擎作用有哪些
MySQL 支持数个存储引擎作为对不同表的类型的处理器。MySQL 存储引擎包括处理事务安全表的引擎和处理非事务安全表的引擎:
MyISAM 管理非事务表。它提供高速存储和检索,以及全文搜索能力。MyISAM 在所有 MySQL 配置里被支持,它是默认的存储引擎,除非你配置 MySQL 默认使用另外一个引擎。
MEMORY 存储引擎提供“内存中”表。MERGE 存储引擎允许集合将被处理同样的 MyISAM 表作为一个单独的表。就像 MyISAM 一样,MEMORY 和 MERGE 存储引擎处理非事务表,这两个引擎也都被默认包含在 MySQL 中。
注释:MEMORY 存储引擎正式地被确定为 HEAP 引擎。
InnoDB 和 BDB 存储引擎提供事务安全表。BDB 被包含在为支持它的操作系统发布的 MySQL-Max 二进制分发版里。InnoDB 也默认被包括在所有 MySQL5.1 二进制分发版里,你可以按照喜好通过配置 MySQL 来允许或禁止任一引擎。
EXAMPLE 存储引擎是一个“存根”引擎,它不做什么。你可以用这个引擎创建表,但没有数据被存储于其中或从其中检索。这个引擎的目的是服务,在 MySQL 源代码中的一个例子,它演示说明如何开始编写新存储引擎。同样,它的主要兴趣是对开发者。
NDBCluster 是被 MySQLCluster 用来实现分割到多台计算机上的表的存储引擎。它在 MySQL-Max5.1 二进制分发版里提供。这个存储引擎当前只被 Linux,Solaris, 和 MacOSX 支持。在未来的 MySQL 分发版中,我们想要添加其它平台对这个引擎的支持,包括 Windows。
ARCHIVE 存储引擎被用来无索引地,非常小地覆盖存储的大量数据。
CSV 存储引擎把数据以逗号分隔的格式存储在文该篇文章件中。
BLACKHOLE 存储引擎接受但不存储数据,并且检索总是返回一个空集。
FEDERATED 存储引擎把数据存在远程数据库中。在 MySQL5.1 中,它只和 MySQL 一起工作,使用 MySQLCClientAPI。在未来的分发版中,我们想要让它使用其它驱动器或客户端连接方法连接到另外的数据源。
当你创建一个新表的时候,你可以通过添加一个 ENGINE 或 TYPE 选项到 CREATETABLE 语句来告诉 MySQL 你要创建什么类型的表:
CREATETABLEt(iINT)ENGINE=INNODB;CREATETABLEt(iINT)TYPE=MEMORY;
虽然 TYPE 仍然在 MySQL5.1 中被支持,现在 ENGINE 是首选的术语。
如何选择最适合你的存储引擎呢
下述存储引擎是最常用的:
MyISAM:默认的 MySQL 插件式存储引擎,它是在 Web、数据仓储和其他应用环境下最常使用的存储引擎之一。注意,通过更改 STORAGE_ENGINE 配置变量,能够方便地更改 MySQL 服务器的默认存储引擎。
InnoDB:用于事务处理应用程序,具有众多特性,包括 ACID 事务支持。
BDB:可替代 InnoDB 的事务引擎,支持 COMMIT、ROLLBACK 和其他事务特性。
Memory:将所有数据保存在 RAM 中,在需要快速查找引用和其他类似数据的环境下,可提供极快的访问。
Merge:允许 MySQLDBA 或开发人员将一系列等同的 MyISAM 表以逻辑方式组合在一起,并作为 1 个对象引用它们。对于诸如数据仓储等 VLDB 环境十分适合。
Archive:为大量很少引用的历史、归档、或安全审计信息的存储和检索提供了完美的解决方案。
Federated:能够将多个分离的 MySQL 服务器链接起来,从多个物理服务器创建一个逻辑数据库。十分适合于分布式环境或数据集市环境。
Cluster/NDB:MySQL 的簇式数据库引擎,尤其适合于具有高性能查找要求的应用程序,这类查找需求还要求具有最高的正常工作时间和可用性。
Other:其他存储引擎包括 CSV(引用由逗号隔开的用作数据库表的文件),Blackhole(用于临时禁止对数据库的应用程序输入),以及 Example 引擎 (可为快速创建定制的插件式存储引擎提供帮助)。
关于 MySQL 数据库中存储引擎的作用是什么就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。