您现在的位置是:首页 > 建站知识建站知识

如何选择MySQL存储引擎?

小郭2021-08-31 23:08:49建站知识1145人已围观

简介在使用 MySQL 数据库管理系统时,选择一个合适的存储引擎是一个非常复杂的问题。不同的存储引擎都有各自的特性、优势和使用的场合,正确...

在使用 MySQL 数据库管理系统时,选择一个合适的存储引擎是一个非常复杂的问题。不同的存储引擎都有各自的特性、优势和使用的场合,正确的选择存储引擎可以提高应用的使用效率。

 

为了能够正确地选择存储引擎,必须掌握各种存储引擎的特性。下面重点介绍几种常用的存储引擎,它们对各种特性的支持如下表所示。


表中主要介绍了 MyISAM、InnoDB 和 MEMORY 三种存储引擎特性的对比。下面详细介绍这 3 个存储引擎的应用场合并给出相应的建议。


1) MyISAM

在 MySQL 5.1 版本及之前的版本,MyISAM 是默认的存储引擎。

MyISAM 存储引擎不支持事务和外键,所以访问速度比较快。如果应用主要以读取和写入为主,只有少量的更新和删除操作,并且对事务的完整性、并发性要求不是很高,那么选择 MyISAM 存储引擎是非常适合的。

 

MyISAM 是在 Web 数据仓储和其他应用环境下最常使用的存储引擎之一。


2) InnoDB

MySQL 5.5 版本之后默认的事务型引擎修改为 InnoDB。

 

InnoDB 存储引擎在事务上具有优势,即支持具有提交、回滚和崩溃恢复能力的事务安装,所以比 MyISAM 存储引擎占用更多的磁盘空间。


如果应用对事务的完整性有比较高的要求,在并发条件下要求数据的一致性,数据操作除了插入和查询以外,还包括很多的更新、删除操作,那么 InnoDB 存储引擎是比较合适的选择。

 

InnoDB 存储引擎除了可以有效地降低由于删除和更新导致的锁定,还可以确保事务的完整提交(Commit)和回滚(Rollback),对于类似计费系统或者财务系统等对数据准确性要求比较高的系统,InnoDB 都是合适的选择。


3) MEMORY

MEMORY 存储引擎将所有数据保存在 RAM 中,所以该存储引擎的数据访问速度快,但是安全上没有保障。

MEMORY 对表的大小有限制,太大的表无法缓存在内存中。由于使用 MEMORY 存储引擎没有安全保障,所以要确保数据库异常终止后表中的数据可以恢复。

 

如果应用中涉及数据比较少,且需要进行快速访问,则适合使用 MEMORY 存储引擎。


总结

不同应用的特点是千差万别的,选择适应存储引擎才是最佳方案也不是绝对的,这需要根据实际应用进行测试,从而得到最适合的结果。


小郭博客
  • 版权申明:此文如未标注转载均为本站原创,自由转载请表明出处《小郭博客》。
  • 本文网址:http://www.d163.net/webknow/489.html
  • 上篇文章:处理.gitignore规则不生效的解决办法
  • 下篇文章:已经是最后一篇
  • mysql

标签云 更多

关闭
QQ 微信 支付宝扫一扫打赏