热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

mysqlstorage_关于mysql中storage_engine中MYISAM和INNODB的选择

简单点说读操作多用myisam写操作多用innodb不过现在大家好像基本都用innodb,本人小白一个就直接用InnoDB。MySQL自20多年前成立以来一直支持可插拔存储引擎&#

简单点说

读操作多用myisam

写操作多用innodb

不过现在大家好像基本都用innodb,本人小白一个就直接用InnoDB。

MySQL自20多年前成立以来一直支持可插拔存储引擎,但在一段相当长的时间里MyISAM一直是默认的存储引擎,许多人运行MySQL甚至对底层存储引擎一点都不了解。毕竟,MySQL刚开始是为小型网站的小型数据库设计的,许多应用已经习惯使用MyISAM存储引擎。

刚开始没什么问题,一切正常,但现在的问题是:MyISAM没有考虑到应用到高并发高负载,多核CPU和RAID阵列的场景,也不能弹性扩展。所以网站流量越来越多后,他们不能扩展,因为MySQL查询会在表级锁上等待数秒(MyISAM只支持这种锁机制)。他们不想每次MySQL崩溃时损坏他们的业务数据。

许多人并不知道,自MySQL存在以来MyISAM存储引擎就有一个兄弟叫InnoDB。并且高并发负载,性能和弹性(也包括原子性,一致性和隔离)正是它的特长。

当然,在InnoDB发展过程中也有过一些问题(尤其是2006年5.0.30之前的版本的性能问题),但在这之后的10年时间里,InnoDB已经在你能想到的领域(或者没有)得到了证明,而MyISAM已经很少被关注了。

因此,从MySQL 5.5.5开始,InnoDB成为默认的存储引擎,现在你几乎找不到大型MySQL数据库的安装使用MyISAM而不是InnoDB。

一些专业上两者的区别,看了也记不住,可以百度下。

参考网站:https://yq.aliyun.com/ziliao/3877;https://www.cnblogs.com/y-rong/p/8110596.html

46d80568c8cfdf563453b0a9ed67935c.png

02e6a10a6a541dad9b340bb261e7eaf0.png

17fa83873e601c8371e325f28296547c.png



推荐阅读
author-avatar
曹lister_638
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有