MySQL 学习篇(二)MySQL常用存储引擎——如何选择存储引擎End

可以说这个大部分情况下的选择InnoDB存储引擎都是正确的,除非需要使用到某些InnoDB不具备特性,并且没有其他方法替代的时候,我们才应该去选择其它存储引擎,否则都应该使用InnoDB存储引擎,对我们的应用来进行数据存储,如果我们非要从众多的进行一下筛选,而不想直接使用InnoDB存储引擎的话,可以参考以下几个因素:

  • 参考条件

  1. 事务【InnoDB是目前最稳定,并且经过验证的支持事务的存储引擎;如果不需要事务,主要是select、insert操作,那么MyISAM也可以使用;禁止insert,连select都很少的话也可以使用Archive存储引擎,比如说大多数的日志型应用,比较符合这一特性】
  2.  备份【如果可以定期的关闭服务器来进行备份,那么备份因素可以忽略,但是在生产环境中,数据库服务器基本上是不能有这样的条件,所以我们就必须要选择可以进行在线备份存储引擎,前面所提到的存储引擎中,只有InnoDB有免费的在线热备方案,其它的存储引擎要么不能在线热备,只能有收费的方案,mysqldump不是算一种热备的方案,关键它是进行逻辑备份,为了保证数据的一致性,要对备份的数据进行加锁,所以说它不是一种在线热备的方案
  3. 崩溃恢复 【数据量比较大的时候,系统崩溃后如何快速的进行恢复,是一个需要考虑的问题,相对MyISAM比InnoDB损坏的概率高很多,而且恢复速度要更慢,即使不需要事务时,很多时候我们应该选择InnoDB】
  4. 存储引擎的特有特性 【比如:应用需要地理空间搜索】
  • 建议

大家不要混合的使用存储引擎。

猜你喜欢

转载自blog.csdn.net/Sicily_winner/article/details/87747033
今日推荐