文档章节

MySQL 各种存储引擎对比

WanRubin
 WanRubin
发布于 2012/11/05 09:00
字数 970
阅读 335
收藏 7

MySQL一起提供的各种存储引擎在设计时考虑了不同的使用情况。为了更有效地使用插件式存储体系结构,最好了解各种存储引擎的优点和缺点。

在下面的表格中,概要介绍了与MySQL一起提供的存储引擎:

图14.2:存储引擎比较

Storage engine comparison

下述存储引擎是最常用的:

·         MyISAM:默认的MySQL插件式存储引擎,它是在Web、数据仓储和其他应用环境下最常使用的存储引擎之一。注意,通过更改STORAGE_ENGINE配置变量,能够方便地更改MySQL服务器的默认存储引擎。

·         InnoDB:用于事务处理应用程序,具有众多特性,包括ACID事务支持。

·         BDB:可替代InnoDB的事务引擎,支持COMMITROLLBACK和其他事务特性。

·         Memory:将所有数据保存在RAM中,在需要快速查找引用和其他类似数据的环境下,可提供极快的访问。

·         Merge:允许MySQL DBA或开发人员将一系列等同的MyISAM表以逻辑方式组合在一起,并作为1个对象引用它们。对于诸如数据仓储等VLDB环境十分适合。

·         Archive:为大量很少引用的历史、归档、或安全审计信息的存储和检索提供了完美的解决方案。

·         Federated:能够将多个分离的MySQL服务器链接起来,从多个物理服务器创建一个逻辑数据库。十分适合于分布式环境或数据集市环境。

·         Cluster/NDBMySQL的簇式数据库引擎,尤其适合于具有高性能查找要求的应用程序,这类查找需求还要求具有最高的正常工作时间和可用性。

·         Other:其他存储引擎包括CSV(引用由逗号隔开的用作数据库表的文件),Blackhole(用于临时禁止对数据库的应用程序输入),以及Example引擎(可为快速创建定制的插件式存储引擎提供帮助)。

请记住,对于整个服务器或方案,你并不一定要使用相同的存储引擎,你可以为方案中的每个表使用不同的存储引擎,这点很重要。

关于MySQL中所包含存储引擎的详细信息,请参见14.4节,“选择存储引擎”

 14.5. 将存储引擎指定给表

可以在创建新表时指定存储引擎,或通过使用 ALTER TABLE语句指定存储引擎。

要想在创建表时指定存储引擎,可使用ENGINE参数:

CREATE TABLE engineTest(
id INT
) ENGINE = MyISAM;

要想更改已有表的存储引擎,可使用ALTER TABLE语句:

ALTER TABLE engineTest ENGINE = ARCHIVE;

 14.6. 存储引擎和事务

下述存储引擎支持事务:

·         InnoDB:通过MVCC支持事务,允许COMMITROLLBACK和保存点。

·         NDB:通过MVCC支持事务,允许COMMITROLLBACK

·         BDB:支持事务,允许COMMITROLLBACK

 14.7. 插入存储引擎

能够使用存储引擎之前,必须使用 INSTALL PLUGIN语句将存储引擎 plugin(插件)装载到 mysql。例如,要想加载 example引擎,首先应加载 ha_example.so模块:
INSTALL PLUGIN ha_example SONAME 'ha_example.so';

文件.so必须位于MySQL服务器库目录下(典型情况下是installdir/lib)。

 14.8. 拔出存储引擎

要想拔出存储引擎,可使用UNINSTALL PLUGIN语句:

UNINSTALL PLUGIN ha_example;

如果拔出了正被已有表使用的存储引擎,这些表将成为不可访问的。拔出存储引擎之前,请确保没有任何表使用该存储引擎。

 14.9. 插件式存储器的安全含义

为了安装插件式存储引擎,plugin文件必须位于恰当的MySQL库目录下,而且发出INSTALL PLUGIN语句的用户必须具有SUPER权限。

© 著作权归作者所有

上一篇: GDB命令大全
下一篇: GDB命令大全
WanRubin
粉丝 1
博文 2
码字总数 970
作品 0
广州
程序员
私信 提问
加载中

评论(0)

MySQL札记13_数据库引擎Engine

在MySQL数据库中常用的引擎有两种:和。其他的还有 MySQL数据库引擎 mysql数据库引擎常用面试总结 MySQL的InnoDB原理详解 B+Tree index structures in InnoDB 什么是存储引擎 MySQL中的数据用...

皮皮大
2019/08/04
0
0
去 IOE,MySQL 完胜 PostgreSQL

前言 上周参加了2015年的中国数据库大会,差不多从第二届开始就每年都会北京参会,从最早的嘉宾到这次的会场主持人,也算见证了中国数据库大会的发展吧。记得最早的时候大会只有两天,分会场...

姜承尧
2015/04/21
8.3W
123
Mysql各种存储引擎的特性以及如何选择存储引擎

几个常用存储引擎的特点 下面我们重点介绍几种常用的存储引擎并对比各个存储引擎之间的区别和推荐使用方式。 最常使用的2种存储引擎: Myisam是Mysql的默认存储引擎。当create创建新表时,未...

小杨_Ivan
2017/02/08
0
0
去IOE,MySQL完胜PostgreSQL

PostgreSQL官方宣称的是:“The world’s most advanced open source database”。most advanced我不知道是怎么定义的,因为PosgreSQL还是传统B+树索引的数据库,在一些场景下,比如全插入场...

姜承尧
2016/03/18
0
0
MySQL PK MongoDB 谁是最后的赢家?

【IT168 评论】摘要:本文讲述了Anders Karlsson在发现MySQL与MongoDB对比中处于劣势后挖空心思的对MySQL进行提升。各种存储引擎、各种内存管理引擎及嵌入式思想,在各种尝试后MySQL也是终于...

作者:Anders Karlsson
2012/09/20
0
0

没有更多内容

加载失败,请刷新页面

加载更多

人脸识别签到闸机 测温门禁通道 智能口罩识别

艾力奋口罩人脸识别测温闸机: 在展览会议期间,可对体温异常人员精确筛查告警:通过人脸识别AI算法和黑体对温度数据进行优化和校准后,仅对行人额温进行测量,保证测量精度误差在±0.3℃以内...

osc_wip0vvls
15分钟前
18
0
教你如何实现一个翻页笔插件?

前言 2020 年的第一篇文章,技术源于生活,作为码农,我觉得最得意的事情大概就是解决一个真实可见的问题了。前段时间我在团队做分享的时候,订了一个比较大的培训室,电脑离的远,所以就需要...

好未来技术团队
15分钟前
7
0
concurrentHashmap内容介绍

ConcurrentHashMap 的工作原理及代码实现   ConcurrentHashMap采用了非常精妙的"分段锁"策略,ConcurrentHashMap的主干是个Segment数组。Segment继承了ReentrantLock,所以它就是一种可重入...

osc_5emtajt2
15分钟前
6
0
hashMap在java7的介绍

1.Java:这是一份全面 & 详细的HashMap 1.7源码分析指南(转载) 前言 HashMap 在 Java 和 Android 开发中非常常见 今天,我将带来HashMap 的全部源码分析,希望你们会喜欢。 本文基于版本 ...

osc_5ijle82k
17分钟前
9
0
Modbus协议和应用开发介绍

因业务需要了解Modbus协议的使用,因此对Modbus的协议,以及相应的C#处理应用进行了解,针对协议的几种方式(RTU、ASCII、TCPIP)进行了封装,以及对Modbus的各种功能码的特点进行了详细的了...

osc_8i2fhl7z
18分钟前
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部