[原创]MySQL各种存储引擎的特性以及如何选择存储引擎_MySQL, Oracle及数据库讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MySQL, Oracle及数据库讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 3023 | 回复: 0   主题: [原创]MySQL各种存储引擎的特性以及如何选择存储引擎        下一篇 
tngou
注册用户
等级:中校
经验:2433
发帖:192
精华:15
注册:2014-4-28
状态:离线
发送短消息息给tngou 加好友    发送短消息息给tngou 发消息
发表于: IP:您无权察看 2014-8-23 15:26:51 | [全部帖] [楼主帖] 楼主   主页

几个常用存储引擎的特点

下面我们重点介绍几种常用的存储引擎并对比各个存储引擎之间的区别和推荐使用方式。
特点MyisamBDBMemoryInnoDBArchive
     存储限制     没有     没有     有     64TB     没有
     事务安全     支持     支持
     锁机制     表锁     页锁     表锁     行锁     行锁
     B树索引     支持     支持     支持     支持
     哈希索引     支持     支持
     全文索引     支持
     集群索引     支持
     数据缓存     支持     支持
     索引缓存     支持     支持     支持
     数据可压缩     支持     支持
     空间使用     低     低     N/A     高     非常低
     内存使用     低     低     中等     高     低
     批量插入的速度     高     高     高     低     非常高
     支持外键     支持


最常使用的2种存储引擎:
  • Myisam
    是Mysql的默认存储引擎。当create创建新表时,未指定新表的存储引擎时,默认使用Myisam。每个MyISAM在磁盘上存储成三个文件。文件
    名都和表名相同,扩展名分别是.frm(存储表定义)、.MYD (MYData,存储数据)、.MYI 
    (MYIndex,存储索引)。数据文件和索引文件可以放置在不同的目录,平均分布io,获得更快的速度。 
  • InnoDB存储引擎提供了具有提交、回滚和崩溃恢复能力的事务安全。但是对比Myisam的存储引擎,InnoDB写的处理效率差一些并且会占用更多的磁盘空间以保留数据和索引。

如何选择合适的存储引擎

选择标准:根据应用特点选择合适的存储引擎,对于复杂的应用系统可以根据实际情况选择多种存储引擎进行组合。

 下面是常用存储引擎的适用环境:
  1. MyISAM:默认的MySQL插件式存储引擎,它是在Web、数据仓储和其他应用环境下最常使用的存储引擎之一
  2. InnoDB:用于事务处理应用程序,具有众多特性,包括ACID事务支持。
  3. Memory:将所有数据保存在RAM中,在需要快速查找引用和其他类似数据的环境下,可提供极快的访问。
  4. Merge:允许MySQL DBA或开发人员将一系列等同的MyISAM表以逻辑方式组合在一起,并作为1个对象引用它们。对于诸如数据仓储等VLDB环境十分适合。

该贴由hui.chen转至本版2014-11-5 16:08:03




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论