MySQL数据库存储引擎探究

MySQL数据库存储引擎探究摘要:介绍了MySQL数据库存储引擎及其分类,并就最常用的MyISAM和InnoDB两种存储引擎展开研究分析,通过性能测试探究其使用特点,为用户选择合适的数据存储方式提供参考依据。关键词:存储引擎;MyISAM;InnoDB:TP391文献标识码:A:1672-7800(2012)012-0129-03MySQL数据库以其简单高效可靠的特点,在最近几年的时间内从一个不出名的小型数据库系统,变成一个可广泛应用在嵌入式系统、Web网站以及企业级系统的开源数据库管理系统,其成绩是众所周知的。究其原因后不难发现,其一是开源,优点是可获得较快的用户使用速度,开发方可获得较低的管理运营成本,可突破应用平台的局限;其二是操作数据库的实现机制,MySQL数据库主要体现在支持插件式存储引擎,并且数据查询及事务处理的单项执行效率均优于大型数据库系统。本文就存储引擎的特点及分类进行比较分析,为用户选择合适的数据库数据表示方式提供参考。1存储引擎及其类别分析1.1存储引擎存储引擎是存储数据、为存储的数据建立索引以及更新、---本文来源于网络,仅供参考,勿照抄,如有侵权请联系删除---查询数据等技术的实现方法。因为在关系数据库中数据的存储是以表的形式存储,所以存储引擎也可以称为表类型(即存储和操作表的类型)。在Oracle和SQLServer等数据库中只有一种存储引擎,所有数据存储管理机制都一样。而MySQL数据库提供了多种存储引擎。用户可以根据不同的需求为数据表选择不同的存储引擎,用户也可以根据具体的需求编写自定义存储引擎。1.2分类MySQL数据库提供了多种存储引擎(在phpMyAdmin界面中单击“引擎”选项,就会显示当前数据库支持的存储引擎),如表1所示。其中使用最广泛的是MyISAM和InnoDB两种存储引擎。MyISAM是MySQL早期的ISAM存储引擎的升级版本,也是MySQL默认的存储引擎,而InnoDB是由第三方软件公司Innobase所开发,其最大的特点是提供事务控制的特性,所以使用者也很广泛。其它存储引擎相对来说使用机会少一些,都是应用于某些特定的场景:NDBCluster虽然也支持事务处理,但主要用于分布式环境,属于一种sharenothing体系的分布式数据库存储引擎;Maria是MySQL最新开发的对MyISAM的升级版存储引擎;Falcon是MySQL公司自行研发的一款带有事务等高级特性的数据库存储引擎,目前正在研发阶段;Memory存---本文来源于网络,仅供参考,勿照抄,如有侵权请联系删除---储引擎所有数据和索引均存储于内存中,并使用散列索引,所以数据存取速度非常快,因此主要用于临时表,或者对性能要求较高的场景;Archive是一个数据经过高比例压缩存放的存储引擎,主要用于日志记录和聚合分析,不支持索弓IMerge和Federated在严格意义上来说,并不能算作一个存储引擎。因为Merge存储引擎主要用于将几个基表连接到一起,对外作为一个表来提供服务,基表可以基于其它的几个存储引擎;而Federated主要用于远程存取其它MySQL服务器上的数据。1.3MyISAM存储引擎MyISAM存储引擎是MySQL最早提出并使用的存储引擎,其优点是对表数据的存取、查询、更新效率高。该存储引擎根据应用数据的特点不同分为静态MyISAM.动态MyISAM和压缩MyISAM3种:静态MyISAM,数据特点是:如果数据表中的各数据列的长度都是预先固定好的,服务器将自动选择这种表类型。因为数据表中每一条记录所占用的空间都是一样的,所以这种表存取和更新的效率非常高。当数据受损时,恢复也比较容易。动态MyISAM,数据特点是:如果数据表中出现varchartext或BLOB字段时,服务器将自动选择这种表类型。相对于静态MyISAM,这种表存储空间比较小,但由于每条记---本文来源于网络,仅供参考,勿照抄,如有侵权请联系删除---录的长度不一,所以多次修改数据后,数据表中的数据就可能离散地存储在内存中,进而导致执行效率下降。同时,内存中也可能会出现很多碎片。因此,这种类型的表要经常用optimizetable命令或优化工具来进行碎片整理。压缩MyISAM,数据特点是:以上说到的两种类型的表都可以用myisamchk工具压缩。这种类型的表进一步减小了占用的空间,但是这种表压缩之后不能再被修改。...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供参考,付费前请自行鉴别。
3、如文档内容存在侵犯商业秘密、侵犯著作权等,请点击“举报”。

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

客服邮箱:

biganzikefu@outlook.com

所有的文档都被视为“模板”,用于写作参考,下载前须认真查看,确认无误后再购买;

文档大部份都是可以预览的,笔杆子文库无法对文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;

文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为依据;

如果您还有什么不清楚的或需要我们协助,可以联系客服邮箱:

biganzikefu@outlook.com

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

确认删除?