更多的考虑是选择MySQL的哪个mysql常用的存储引擎擎

您所在的位置: &
浅谈MySQL存储引擎选择 InnoDB还是MyISAM
浅谈MySQL存储引擎选择 InnoDB还是MyISAM
酷壳的博客
如果是一些小型的应用或项目,那么MyISAM 也许会更适合。当然,在大型的环境下使用MyISAM 也会有很大成功的时候,但却不总是这样的。如果你正在计划使用一个超大数据量的项目,那么你应该直接使用InnoDB方式。
51CTO推荐专题:&&&&&
MyISAM 是MySQL中默认的存储引擎,一般来说不是有太多人关心这个东西。决定使用什么样的存储引擎是一个很tricky的事情,但是还是值我们去研究一下,这里的文章只考虑 MyISAM 和InnoDB这两个,因为这两个是最常见的。
下面先让我们回答一些问题:◆你的数据库有外键吗? ◆你需要事务支持吗? ◆你需要全文索引吗? ◆你经常使用什么样的查询模式? ◆你的数据有多大?
思考上面这些问题可以让你找到合适的方向,但那并不是绝对的。如果你需要事务处理或是外键,那么InnoDB 可能是比较好的方式。如果你需要全文索引,那么通常来说 MyISAM是好的选择,因为这是系统内建的,然而,我们其实并不会经常地去测试两百万行记录。所以,就算是慢一点,我们可以通过使用Sphinx从InnoDB中获得全文索引。
数据的大小,是一个影响你选择什么样存储引擎的重要因素,大尺寸的数据集趋向于选择InnoDB方式,因为其支持事务处理和故障恢复。数据库的在小决定了故障恢复的时间长短,InnoDB可以利用事务日志进行数据恢复,这会比较快。而MyISAM可能会需要几个小时甚至几天来干这些事,InnoDB只需要几分钟。
您操作数据库表的习惯可能也会是一个对性能影响很大的因素。比如: COUNT() 在 MyISAM 表中会非常快,而在InnoDB 表下可能会很痛苦。而主键查询则在InnoDB下会相当相当的快,但需要小心的是如果我们的主键太长了也会导致性能问题。大批的inserts 语句在MyISAM下会快一些,但是updates 在InnoDB 下会更快一些――尤其在并发量大的时候。
所以,到底你检使用哪一个呢?根据经验来看,如果是一些小型的应用或项目,那么MyISAM 也许会更适合。当然,在大型的环境下使用MyISAM 也会有很大成功的时候,但却不总是这样的。如果你正在计划使用一个超大数据量的项目,而且需要事务处理或外键支持,那么你真的应该直接使用InnoDB方式。但需要记住InnoDB 的表需要更多的内存和存储,转换100GB 的MyISAM 表到InnoDB 表可能会让你有非常坏的体验。
【编辑推荐】
【责任编辑: TEL:(010)】
关于&&&&&&&&的更多文章
本书由麦思博(北京)软件技术有限公司主编,由著名Oracle专家和
数据库产品
数据库综合
数据库新闻
维基百科将切换到另外一款开源数据库MariaDB
讲师: 335人学习过讲师: 14人学习过讲师: 50人学习过
MySQL 5.6.10已经发布,Oracle将其称之为MySQL 5.6正
51CTO将为您整理数据清洗方面的技术文章和相关资料,
这个专题系统地介绍和分析比较了业界主流的Yahoo! S4
《Cisco网络工程案例精粹》是一本以案例为基础兼顾知识概述的案例性书籍,所收录的案例都是笔者精心挑选出来的在网络工作中常见
51CTO旗下网站君,已阅读到文档的结尾了呢~~
广告剩余8秒
文档加载中
如何选择合适的MySQL存储引擎★
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
如何选择合适的MySQL存储引擎★
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口会说话的鱼 的BLOG
用户名:会说话的鱼
文章数:89
访问量:17605
注册日期:
阅读量:5863
阅读量:12276
阅读量:414334
阅读量:1101999
51CTO推荐博文
& &Mysql官方存储引擎比较常见的存储引擎有:Innodb、MyISAM、Memory、Archive、NDB、BDB,第三方比较有名的:TokuDB、Infobright、InnfiniDB、XtraDB(Innodb增强版本)& &官方存储引擎的特点对比& &MySQL存储引擎比较特性MyISAMInnoDBMemoryArchiveNDBBDB存储限制& No& 64TB& Yes& No& Yes& &No事务& √&&&&√MVCC&&√&√& √&锁粒度&Table& Row& Table&Row& Row& PageB树索引&√&&√&&√& √&&√哈希索引&&√&&√&&√全文索引&√5.6支持e文集群索引&&√数据缓存& √& &√&&√索引缓存&√&&√& &√&&√数据压缩&√&√批量插入&高&相对低&&高&非常高&&高&&高内存消耗&低&高& 中& 低& &高& 低外键支持&&√复制支持&√&&√&&√&√& &√&√查询缓存&√&&√&&√&√&&√&√备份恢复&√&&√&&√&√&&√&√集群支持&&√TokuDB:支持数据压缩,支持高速写入的一个引擎,但是不适合update多的场景Infobright/InfiniDB:基于列存储的引擎,适用于OLAP环境,Infobright社区版只支持load data操作选择存储引擎及建议:根据不同的业务去选择适合业务的存储引擎,MySQL的存储引擎很多,不同的库,不同的表都支持选择不同的存储引擎,推荐同一个库用同一种存储引擎,因为不同存储引擎的表之间join操作比较慢常用推荐:Innodb,非特殊的场景,Innodb存储引擎一般都可以满足需求如果有大数据写入批量读取操作:TokuDB针对OLAP可以考虑使用InfiniDB/Infobright如果针对数据量小要求速度快,无持久化要求:Memory尽量不要选择MyISAM存储引擎:因为MyISAM存储引擎只能用的单个CPU,内存只能用到4个G,内存里只有索引,而且并发能力差本文出自 “” 博客,请务必保留此出处
了这篇文章
类别:┆阅读(0)┆评论(0)如何选择MySQL存储引擎?_达内linux培训
亿元级外企Java培训企业
全国服务监督电话
&&&&&&&&&如何选择MySQL存储引擎?
如何选择MySQL存储引擎?
该选择MySQL哪种存储引擎,Innodb具有什么特性?...
问题:该选择My哪种存储引擎,Innodb具有什么特性?
存储引擎简介
插件式存储引擎是MySQL的重要特性,MySQL支持多种存储引擎以满足用户的多种应用场景
存储引擎解决的问题:如何组织MySQL数据在介质中高效地读取,需考虑存储机制、索引设计、并发读写的锁机制等
MySQL5.0支持的存储引擎有MyISAM、InnoDB、Memory、Merge等
**MyISAM和InnoDB的区别(只说重点了)
MySQL5.5之后及CDB的默认引擎。
支持行锁:并发性能好
支持事务:故InnoDB称为事务性存储引擎,支持ACID,提供了具有提交、回滚和崩溃恢复能力的事务安全
支持外键:当前唯一支持外键的引擎
MySQL5.5之前默认引擎
支持表锁:插入+查询速度快,更新+删除速度慢
不支持事务
使用show engines可查看当前MySQL支持的存储引擎详情
推荐文章(03-13)(10-08)(10-08)(05-11)(04-08)(04-08)(01-25)(01-25)(01-25)(01-07)
(12月08日)
(12月07日)
(12月05日)
(12月01日)
(11月29日)
(01月24日)
(12月08日)
(12月07日)
(12月06日)
(12月05日)
Linux培训课程
达内时代科技集团有限公司 版权所有 京ICP证8000853号-56电子邮件 *
博文浏览排名
- 262,800 views - 262,716 views - 130,802 views - 117,639 views - 95,344 views - 72,842 views - 70,916 views - 68,688 views - 66,061 views - 63,959 views
2017年五月
891011121314
15161718192021
22232425262728}

我要回帖

更多关于 mysql 存储引擎 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信