加入收藏 | 设为首页 | 会员中心 | 我要投稿 汽车网 (https://www.0577qiche.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

如何根据业务选择合适的存储引擎?

发布时间:2023-09-06 12:56:26 所属栏目:MySql教程 来源:
导读:多存储引擎是 MysqL 有别于其他数据库的最大特点,不同的存储引擎有不同的特点,可以应对不同的应用场景,这给了我们足够的灵活性去做出选择。但同时也带来了烦恼,这么多的存储引擎,我们该如何选择最合适的呢?本文
多存储引擎是 MysqL 有别于其他数据库的最大特点,不同的存储引擎有不同的特点,可以应对不同的应用场景,这给了我们足够的灵活性去做出选择。但同时也带来了烦恼,这么多的存储引擎,我们该如何选择最合适的呢?本文将结合实际应用,介绍选择存储引擎的一般原则。

需要考虑的因素

对于如何选择存储引擎,可以简单地归纳为一句话:“除非需要用到某些 InnoDB 不具备的特性,并且没有其他办法可以替代,否则都应该优先选择 InnoDB 引擎”(摘录自高性能MysqL第三版)。

确实,大部分情况下,InnoDB 都是最好的选择,从 MysqL 5.5 版本开始,将 InnoDB 作为默认存储引擎这一点就是最好的佐证。

选择不同的存储引擎,需要考虑以下几个因素:

事务
如果应用场景需要事务支持,那么毫无疑问,InnoDB是目前最稳定的选择。如果不需要考虑事务,并且应用主要以读操作和插入操作为主,极少有更新和删除操作,那么MyISAM是比较好的选择,这种一般指日志型应用。

备份
如果需要在线热备,那么应该考虑 InnoDB。如果可以定期关闭服务器进行冷备,那么备份这个因素可以忽略掉。

崩溃恢复
MyISAM 在崩溃后,发生数据损坏的概率比 InnoDB 高很多,而且恢复速度也很慢,这也是很多人开始弃用 MyISAM 的主要原因之一。特别是数据量比较大的应用场景,数据库崩溃后,是否能快速恢复是一个非常重要的因素。

一般来讲,如果应用场景特别复杂,以至于搞不清楚需求,无法确定应该使用哪种存储引擎,那么就使用 InnoDB 吧,这是比较安全的选择。

 

(编辑:汽车网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章