当前位置:首页 > 日记 > 正文

MySQL数据引擎介绍与选择方法

MySQL数据引擎介绍与选择方法
首先,简要介绍了数据引擎。

在MySQL 5.1,MySQL AB公司引入了一个新的插件式存储引擎的架构,使得存储引擎被加载到新的MySQL服务器。

使用MySQL插件存储引擎架构允许数据库专业人员为特定的应用程序需求选择专门的存储引擎,并且不需要管理任何特殊的应用程序编码要求。由于在存储级别上的一致和简单的应用程序模型和API,应用程序程序员和DBA不能再考虑底层实现的所有细节。因此,尽管不同的存储引擎具有不同的功能,但应用程序与它们分离。

MySQL支持多种不同类型的存储引擎作为处理器,MySQL存储引擎包括事务安全表引擎和非事务性安全表引擎:

MyISAM管理非事务表,它提供了高速存储和检索,以及全文检索capabilities.myisam是所有MySQL的配置支持,它是默认的存储引擎,除非你配置MySQL默认使用一个引擎。

内存存储引擎提供的存储表。合并存储引擎允许收集要处理相同的MyISAM表作为一个单独的表。和MyISAM一样,记忆和MERGE存储引擎处理非事务表,这两个引擎也在默认情况下,MySQL包括。

注意:内存存储引擎被正式确定为堆引擎。

InnoDB和BDB存储引擎提供交易安全table.bdb包含在MySQL最大二元分布,发表对操作系统的支持it.innodb也包含在所有MySQL 5.1二进制分布在默认情况下,你可以允许或禁止通过配置MySQL为任何你喜欢的引擎。

实例存储引擎是一个存根引擎,它不做任何事。你可以用这个引擎来创建一个表,但没有数据存储或检索。这个引擎的目的是服务,在MySQL源代码示例,演示如何开始写一个新的存储发动机。在同样的方式,它的主要兴趣是开发商。

NDB集群存储引擎,MySQL集群用来实现一个表,分为多个计算机上,在MySQL-Max 5.1二进制分发,存储引擎是目前仅支持Linux,Solaris,和Mac OS X的未来的MySQL的分布,我们要添加其他平台支持发动机,包括Windows。

归档存储引擎用于在没有索引的情况下以非常小的方式覆盖大量存储的数据。

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

黑洞的存储引擎接受而不是数据的存储和检索,总是返回一个空集。

联邦存储引擎将数据保存在远程数据库中。在MySQL 5.1中,它只使用MySQL,使用mysql C客户机API。在将来的分发中,我们希望它使用其他驱动器或客户机连接方法连接到另一个数据源。

插件存储引擎体系结构为所有基本存储引擎提供了一套标准的管理和支持服务,存储引擎本身是数据库服务器的组成部分,负责物理服务器级别上维护的基本数据的实际操作。

这是一个高度模块化的架构,它为那些希望专注于特定的应用需求提供了极大的便利和效益,这种特殊的应用需求,包括数据仓库、事务处理、高可用性的情况下,同时使用独立的任何存储引擎接口和一组服务。

应用程序员和DBA通过连接器接口及以上存储引擎服务层处理MySQL数据库。如果应用的变化需要改变底层存储引擎,或添加1个或更多的额外的存储引擎,支持新的要求,我们可以达到这个要求没有大的编码或过程change.mysql服务器架构提供一致的和易于使用的API。这种API适用于多个存储引擎。通过这种方式,应用程序隔离了存储引擎的底层复杂性。
在下图中,MySQL插件存储引擎架构以图形方式示出。
两。选择存储引擎

MySQL提供的各种存储引擎考虑不同的设计用途,为了更有效地使用插件存储架构,最好了解各种存储引擎的优缺点。

在下面的表中,给出了用MySQL提供的存储引擎的概述。
下列存储引擎是最常用的:

MyISAM:默认的MySQL存储引擎插件,这是一种最常用的Web存储引擎、数据仓库等应用环境。注意,通过改变storage_engine配置变量,对MySQL服务器的默认存储引擎可以很容易地改变。

InnoDB:用于事务处理应用程序,有很多功能,包括酸处理的支持。

BDB:事务处理引擎,可以取代InnoDB,支持提交、回滚、和其他交易的特点。

内存:保存RAM中的所有数据,并快速地访问需要快速引用和其他类似数据的环境。

合并:让MySQL DBA或开发人员将一系列等价MyISAM表的逻辑,并参考他们的1个对象。它适用于大型数据库环境,如数据仓库。

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

联邦:它能够连接多个独立的MySQL服务器,并从多个物理服务器创建逻辑数据库,非常适合分布式环境或数据集市环境。

群集数据库引擎集群/ NDB:MySQL是特别适合于高性能的查询要求的应用,这也要求最高的正常工作时间和可用性。

其他:其他存储引擎包括CSV(逗号作为引用的数据库表文件(黑洞),在数据库应用程序的临时禁令,例如引擎(输入)和可提供的插件式存储引擎快速创建自定义帮助)。

记住,对于整个服务器或程序,您不必使用相同的存储引擎。对于程序中的每个表,可以使用不同的存储引擎,这是非常重要的。

三。将存储引擎分配给表

可以在创建新表时指定存储引擎,也可以使用更改表语句指定存储引擎。

若要在创建表时指定存储引擎,可以使用引擎参数:
创建表等(
ID int
MyISAM引擎=);

您还可以将type选项用于创建表语句,告诉MySQL您要创建的是什么类型的表。

创建表等(
ID int
类型= MyISAM);

虽然在MySQL 5.1中仍然支持类型,但是现在引擎是首选项。

如果你忽略了发动机或类型选项,默认的存储引擎使用。一般默认的是MyISAM,但你可以使用默认存储引擎或默认表式服务器启动选项来改变它,或通过设置storage_engine或table_type系统变量的变化。
要更改现有表的存储引擎,可以使用更改表语句:
改变tableenginetestengine =档案;
修改表的MyISAM引擎=;
修改表类型= BDB;

如果你想用一个存储引擎,不编译到MySQL,或尝试使用MySQL存储引擎编译成还没有激活,而不是创建一个MySQL MyISAM类型表。上述行为方便当您复制MySQL服务器,支持不同的存储引擎的表之间。例如,在复制设置,你的主服务器可以增加安全事务存储引擎支持,但只使用非事务存储引擎更快的服务器。)

的MyISAM表自动更换时,可用指定类型,这将混淆的MySQL的新用户。每当表格自动改变,产生一个警告。

MySQL总是创建一个文件保存的表和列的定义。表和索引数据可以存储在一个或多个文件,根据表格的类型。服务器创建的文件在存储引擎层。附加文件存储引擎需要创建单独的管理表。

数据库可以包含不同类型的表。

四。存储引擎和事务

下面的存储引擎支持事务:
InnoDB:提交,回滚,并保存点允许通过MVCC支持交易。

导航:支持交易通过MVCC,允许提交和回滚。

BDB:支持交易,允许提交和回滚。

交易安全表(TST)在非事务安全表的几个优点(NTST)。
即使MySQL崩溃或遇到硬件问题,也可以自动从备份和事务日志中恢复或恢复,您可以检索数据。

你可以合并报表和接受它们的提交语句同时(如果将被禁止)。

你可以执行回滚(如果忽略你的变化将是被禁止的)。

如果更新失败,所有更改都会返回(使用非事务性安全表,所有更改都是永久的)。

事务安全存储引擎可以为那些当前具有多个更新的表提供更好的部署。

非事务性安全表本身有几个优点,因为没有交易成本,所有的优点都可能发生。


需要更少的磁盘空间

更新的执行需要更少的内存。
你可以合并交易安全和非交易安全表在同一声明中得到最好的两个。然而,在被禁止在自动提交事务,非事务安全表仍然是立即提交并不会回滚。
虽然MySQL支持多个事务安全存储引擎,但是为了获得最好的结果,您不应该在一个事务中混用不同的表类型。

五。插入搜索引擎

在您可以使用存储引擎,你必须使用安装插件声明加载存储引擎的插件(plug-in)MySQL。例如,为了负荷发动机的例子,ha_example.so模块应先装:
安装pluginha_examplesoname'ha_example。;
文件。所以必须位于MySQL服务器库目录(通常在installDir /库的情况下)。

六。拉出存储引擎

要退出存储引擎,可以使用卸载插件语句:
卸载pluginha_example;
如果你拔出存储引擎,是由现有的表,这些表将变得不可访问。在你拔出存储引擎,确保没有表使用的存储引擎。

为了安装插件存储引擎,插件文件必须位于适当的mysql库目录中,而发出安装插件语句的用户必须具有超级权限。
创建表时,可以指定引擎关键字使用的存储引擎,如果省略省略,则使用系统的默认存储引擎:

创建表的T(I型)= MyISAM引擎;
查看系统中支持的存储引擎的类型:

显示引擎;
标准安装程序只提供部分引擎支持。如果你需要使用其他的存储引擎,你需要重新编译源代码不同parameters.default显示系统的默认存储引擎,可以通过修改配置参数的变化:

默认的MyISAM存储引擎=

查看存储引擎的特定信息。

MySQL >显示引擎INNODB STATUS G;

相关文章

PS图象处理软件工具的八个技巧

PS图象处理软件工具的八个技巧

图象处理,软件工具,技巧,电脑软件,PS,一:当你需要快速隐藏工具栏和浮动面板,单击关闭按钮一个一个面板上,然后用打开,非常方便。事实上,你也可以按下键盘上的Shift和tab键,这样浮动面板会立即隐藏屏幕上消失,然后按下两个按钮,面板会出现;如果只按下…

PowerPoint2010播放视频格式的方法

PowerPoint2010播放视频格式的方法

方法,视频格式,电脑软件,powerpoint2010在形状中的视频,它可以在盒形播放视频(如圆形、箭头、星号标注)或视频型其他形状显示在列表中(如下图)。 提示:视频应用后,您可以添加一个边框,对视频产生特殊效果,或者对视频进行重新着色。 1,选择幻灯片上的…

oracle中移动数据库文件

oracle中移动数据库文件

中移动,数据库文件,电脑软件,oracle,正在阅读的Oracle教程是:Oracle移动数据库文件。Oracle数据库由三个文件组成,它们是数据文件、控制文件和在线日志文件。由于磁盘空间的变化,或者基于数据库磁盘I/O 数据库管理员可以考虑移动数据库文件等,…

讨论:SQL插入空,默认1900-01-0100:00

讨论:SQL插入空,默认1900-01-0100:00

默认,方案,解决方案,详细,电脑软件,SQL2005如果字段定义的类型为datetime,和插入(空),则默认值为0 1900-01-01 00:00: 滤波器的投(NULLIF(',')作为解决方法的查询时间日期。 复制代码代码如下所示: 选择演员('为DateTime ) 铸造(NULLIF(',')为DateTi…

用画笔和路径工具绘制简单水墨莲花

用画笔和路径工具绘制简单水墨莲花

绘制,工具,路径,水墨,简单,在绘画之前,我们需要先设置画笔的属性,使画笔类似于水墨的感觉,然后找一些水墨画来参考,按照自己的想法画一个简单的水墨画。 最终效果 1、选择画笔,打开画笔预设面板,选择画笔的形状,我用灵活的角度45选择形状动态大…

错误的kamdpackageextractionfaile

错误的kamdpackageextractionfaile

解决方案,错误,电脑软件,kamdpackageextractionfailederror,When installing an application for iPad, iPhone, or iTouch, there is a kAMDPackageExtractionFailedError error prompt. 上述错误表示您正在安装的软件可能已经损坏,无法解…

Win7手动卸载驱动程序适用于卸载卸

Win7手动卸载驱动程序适用于卸载卸

卸载,驱动程序,适用于,电脑软件,点评:有些司机不能完全卸载的卸载程序,如果没有安装自动安装。如果你想下载驱动手动,这里是win7的乐趣。 我们都知道,有些司机如果不通过自动安装包安装,卸载程序无法卸载的程序通过全面启动,在这个时候,我们将体验…

Excel表格基础:如何清除单元格内容

Excel表格基础:如何清除单元格内容

清除,单元格,表格,基础,内容,Excel如何清除单元格内容首先选择单元格,然后按下删除键,只删除单元格内容,其格式和注释仍然保留。 完全删除单元格,可用以下方法:选定要删除的单元格或单元格区域,单击编辑;具有;间隙;命令,然后显示菜单();间隙;,命令,当然你…

如何清理游戏的Windows7系统下生成

如何清理游戏的Windows7系统下生成

缓存文件,系统,游戏,电脑软件,点评:在使用电脑时,会有一些临时文件,特别是在玩游戏时,缓存文件可能会产生更多,长时间会占用大量硬盘空间,在下一个教程中你将学会如何清除缓存文件下的Windows 7系统所产生的一个游戏。 我们知道,在使用电脑时,会有…

详细描述int、bigint、smallint和t

详细描述int、bigint、smallint和t

描述,详细,电脑软件,tinyintMySQL,bigint,最近使用的MySQL数据库中遇到了许多类型的数,主要是int、bigint、smallint和tinyint。更令人困惑的是int和对象之间的区别。今天,在互联网上,仔细找找,发现下面的内容,在文件做一个总结: 使用整数数据的…

win7系统不能打开GIF格式看静态打

win7系统不能打开GIF格式看静态打

系统,静态,格式,电脑软件,GIF,点评:Windows7的使用是令人遗憾的,它不支持GIF动画图片。打开GIF动态格式时,可以看到所有静态图片。这里有个好办法。你可以参考它。 Windows7用户使用系统内置的图像查看器浏览图片,因为它启动速度快、占用资源…

该psngive.exe-psngive过程的意义

该psngive.exe-psngive过程的意义

意义,过程,电脑软件,psngive,exe,评论:对psngive.exe -详细解释psngive过程 进程文件:psngive或psngive.exe 过程名称:3M邮政编码软件 过程类别:安全风险的过程 英文描述: psngive.exe是一个过程与Lite版的便条纸 中文参考: 对不起,暂时没有中文…