mysql数据库引擎的作用_MySQL数据库几种存储引擎的功能和特性

MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站的数据库。存储引擎是MySQL数据库的重要组成部分之一,也是在不同应用场景下,对MySQL数据库进行设置的重要考察点之一。本文将介绍MySQL数据库几种存储引擎的功能和特性。

fc997b336ce6f25f2f7b3d8663588998.pngMySQL存储引擎

InnoDB存储引擎:是面向OLTP(Online Transaction Processing)、行锁、支持外键、非锁定读,MySQL-4.1开始支持每个InnoDB引擎的表单独放倒一个表空间里。InnoDB通过使用MVCC来获取高并发性,并且实现SQL的4种隔离级别,同时使用一种被称为next-key locking的策略来避免换读(phantom)现象。除此之外,InnoDB引擎还提供了插入缓存(insert buffer)、二次写(doulbe write)、自适应哈希索引(adaptive hash index)、预读(read ahead)等高性能技术。

MyISAM存储引擎:不支持事务、表锁、全文索引、适合olap(在线分析处理)应用,其中myd:放数据文件,myi:放索引文件。MySQL-5.0版本之前,MyISAM默认支持的表大小为4G,从MySQL-5.0以后,MyISAM默认支持256T的表单数据。MyISAM只缓存索引数据。

NDB存储引擎:集群存储引擎,share nothing,特点是数据放在内存中,可提高可用性。MySQL-5.1版本开始可以将非索引数据放到磁盘上。NDB之前的缺陷是join查询是MySQL数据库层完成的,而不是存储引擎完成的,复杂的join查询需要巨大的网络开销,速度很慢。当前MySQL cluster7.2版本中已经解决此问题,join查询效率提高了70倍。

MySQL还支持Memory存储引擎、Archive存储引擎、Maria存储引擎。本文不再一一赘述。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值