MySQL只能做小项目?是时候说几句公道话了!


MySQL只能做小项目?是时候说几句公道话了!

我上学那会,很多人对 MySQL 有一些偏见,偏见主要集中在以下几方面:

1. MySQL 不支持事务(事实上 MyISAM 有表锁,但是效率比较低)

2. MySQL 存储的数据量比较小,适合小项目,大项目还是得上 Oracle、DB2 等

这么多年过去了,我自己在开发中一直是以 MySQL 为主,我觉得我有必要说两句公道话了。

公道话

第一个问题

关于第一个不支持事务的问题,这有一定的历史原因。MySQL 从设计之初,存储引擎就是可插拔的,允许公司或者个人按照自己的需求定义自己的存储引擎(当然,普通的公司或者个人其实是没有这个实力的)。MySQL 自研的使用较广的存储引擎是 MyISAM ,MyISAM 支持表锁,不支持行锁,所以在处理高并发写操作时效率要低一些,另外 MyISAM 也不支持外键(虽然现在实际项目中外键已经用的比较少了)。

但是这个问题并非无解。这就不得不说 MySQL 中另外一个大名鼎鼎的存储引擎 InnoDB 了。

InnoDB 存储引擎是由一家位于芬兰赫尔辛基的名为 Innobase Oy 的公司开发的,InnoDB 存储引擎的历史甚至比 MySQL 还要悠久。

InnoDB 刚刚开发的时侯,就是作为一个完整的数据库来开发的,因此功能很完备。开发出来之后,创始人是想将这个数据库卖掉的,但是没有找到买家。

后来 MySQL2.0 推出后,这种可插拔的存储引擎吸引了 Innobase Oy 公司创始人 Heikki Tuuri 的注意,在和 MySQL 沟通之后,决定将 InnoDB 作为一个存储引擎引入到 MySQL 中,MySQL 虽然支持 InnoDB ,但是实际上还是主推自家的 MyISAM。

但是 InnoDB 实在太优秀了,最终在 2006 年的时侯,成功吸引到大魔王 Oracle 的注意,大手一挥,就把 InnoDB 收购了。

MySQL 主推自家的 MyISAM ,日子过得也很惨淡,最终在 2008 年被 sun 公司以 10 亿美元拿下,这个操作巩固了 sun 在开源领域的领袖的地位,可是一直以来 sun 公司的变现能力都比较弱,最终 sun 自己在 2009 年被 Oracle 收入囊中。那会我还在读高中,某一天吃午饭的时侯,餐厅的电视机上播放央视的午间新闻,看到了这条消息,现在还有一些印象。

Oracle 收购 sun 之后,InnoDB 和 MySQL 就都成了 Oracle 的产品了,这下整合就变得非常容易了,在后来发布的版本中,InnoDB 慢慢就成为了 MySQL 的默认存储引擎。在最新的 MySQL8 中,元数据表也使用了 InnoDB 作为存储引擎。

InnoDB 存储引擎主要有如下特点:

1. 支持事务

2. 支持 4 个级别的事务隔离

3. 支持多版本读

白瓜面试 白瓜面试

白瓜面试 - AI面试助手,辅助笔试面试神器

白瓜面试 162 查看详情 白瓜面试

4. 支持行级锁

5. 读写阻塞与事务隔离级别相关

6. 支持缓存,既能缓存索引,也能缓存数据

7. 整个表和主键以 Cluster 方式存储,组成一颗平衡树

8. ...

当然也不是说 InnoDB 一定就是好的,在实际开发中,还是要根据具体的场景来选择到底是使用 InnoDB 还是 MyISAM 。

所以第一个问题不攻自破。

第二个问题

第二个问题确实是一个硬伤。

你要是拿 MySQL 和 Oracle 比,肯定是要差一点点感觉。毕竟一个免费一个收费,而且收费的还很贵。但是这个问题并非无解。

相信很多小伙伴都听过国内很多大厂都使用了 MySQL 来存储数据。大厂用 MySQL ,是因为他们有能力研发出自己的存储引擎,小厂一般没有这个实力,没法去研发出自己的存储引擎,但是 Oracle 又用不起,那么怎么办呢?

这几年兴起的分布式数据库中间件刚好可以很好的解决这个问题。J*a 领域,类似的工具很多,例如 Sharding-JDBC 、MyCat 等,通过这些工具,可以很好的实现数据库分库分表,以及数据表的动态扩展、读写分离、分布式事务解决等。有了这些工具,极大的提高了 MySQL 的应用场景。

另一方面,近些年流行微服务,这不是单纯的炒概念,微服务架构将一个大的项目拆分成很多个小的微服务,各个微服务处理自己很小的一部分事情,这更符合人类分工协作的特点。在微服务架构中,我们对大表的需求、对多表联合查询的需求都会有所降低,MySQL 也更具用武之地。

因此,第二个问题也是可以解决的。

据我了解,互联网公司使用 MySQL 还是比较多的,传统软件公司,可能会更青睐 Oracle 等数据库。

不过话说回来,云计算,也是未来一个方向。

更多MySQL相关技术文章,请访问MySQL教程栏目进行学习!

以上就是MySQL只能做小项目?是时候说几句公道话了!的详细内容,更多请关注其它相关文章!


# 自己的  # 草莓网网站建设北路小学  # 淘宝推广与营销总结报告  # 婚庆网站的运营推广  # seo地图怎么用  # 建阳seo推广  # 文旅营销推广图片  # 江宁网络营销推广  # 很好  # 也不  # 能做  # 不支持  # 解锁  # 第二个  # 话了  # 第一个  # 镜像  # mysql  # 免费人脉推广软件seo公司  # 大坪云网站推广  # 关键词的排名优化模式 


相关栏目: 【 Google疑问12 】 【 Facebook疑问10 】 【 优化推广96088 】 【 技术知识133117 】 【 IDC资讯59369 】 【 网络运营7196 】 【 IT资讯61894


相关推荐: 折叠屏手机充不进电是什么问题? 特殊结构带来的维修难点  12306夜间购票失败? | 查看官方公布的暂停服务公告与应对方案  Highcharts雷达图径向轴数值标签实现教程  优酷下载视频的清晰度怎么选_优酷缓存清晰度设置与选择指南  yy漫画登录页面官方入口_yy漫画在线阅读网址入口  包子漫画官网链接官方地址 包子漫画在线观看官网首页入口  荣耀magicv5怎么上手测评  win11怎么更改账户类型 Win11标准用户和管理员权限切换【教程】  Lar*el 中高效执行多列更新:单次查询实现  Python中深度嵌套字典与列表的数据提取与条件过滤指南  139邮箱登录入口官网 139邮箱登录入口官网网址  PHP页面重载时变量值不重置的实现方法  《搜书吧》阅读书籍方法  解决CSS布局中意外顶部空白问题的教程  byrutor直接访问入口 byrutor官方游戏库  优酷官网登录入口电脑版 优酷官网网址入口  驱动人生:游戏修复指南  性能与资源监视器快捷打开  聚水潭ERP后台管理系统登录 聚水潭ERP官方登录通道  Scipy Sparse CSR 矩阵非零元素行级遍历的最佳实践  汽水音乐网页端访问 汽水音乐官方网页直达  汽水音乐官网网页版入口 汽水音乐官网网页版在线入口  C++ cast类型转换总结_C++ reinterpret_cast与const_cast的使用  抖音官网入口快速访问 抖音网页版账号注册解析  蛙漫2(台版)正版官网 2025免费网页版分享  天天漫画2025最新入口 天天漫画永久有效登录入口  《edge浏览器》关闭翻译功能方法  《顺丰同城骑士》查看我的技能方法  Golang如何使用gRPC拦截器实现日志收集_Golang gRPC拦截器日志收集实践  Git命令与VS Code UI操作的对应关系解析  菜鸟驿站的取件码忘了怎么办 手机快速查询指南  Linux如何优化系统启动流程_Linux启动项优化方案  易车网官网直达入口 易车网在线登录入口  b站怎么查看视频的码率_b站视频码率查看方法  mysql怎么导入sql文件_mysql导入sql文件的方法与技巧  msn官方入口2025登录 msn官网2025直达首页入口  126邮箱申请入口官网_126邮箱注册免费登录2025  win11资源管理器标签页怎么用 Win11文件管理器多标签高效操作【新功能】  响应式设计中动态背景颜色条的实现指南  电脑没有声音了怎么办 电脑声音问题的全面排查与修复指南【详解】  Lar*el Socialite单设备登录策略:实现用户唯一会话管理  动漫岛在线动漫网 动漫岛动漫在线观看官方入口  跨语言测试实践:使用Python Selenium测试现有J*a Web项目  怎样让Windows 11的开始菜单恢复经典样式_Open-Shell工具使用指南【怀旧】  《米姆米姆哈》米姆获取及技能攻略  智学网成绩单查询系统网_智学网学生平台登录  Linux如何自动分析系统异常日志_Linux日志智能检测  在J*a里什么是行为抽象_抽象行为对代码复用的提升作用  sublime怎么快速在浏览器中预览HTML_sublime配置View in Browser教程  微信如何设置字体大小_微信字体设置的阅读舒适 

 2019-06-25

了解您产品搜索量及市场趋势,制定营销计划

同行竞争及网站分析保障您的广告效果

点击免费数据支持

提交您的需求,1小时内享受我们的专业解答。

运城市盐湖区信雨科技有限公司


运城市盐湖区信雨科技有限公司

运城市盐湖区信雨科技有限公司是一家深耕海外推广领域十年的专业服务商,作为谷歌推广与Facebook广告全球合作伙伴,聚焦外贸企业出海痛点,以数字化营销为核心,提供一站式海外营销解决方案。公司凭借十年行业沉淀与平台官方资源加持,打破传统外贸获客壁垒,助力企业高效开拓全球市场,成为中小企业出海的可靠合作伙伴。

 8156699

 13765294890

 8156699@qq.com

Notice

We and selected third parties use cookies or similar technologies for technical purposes and, with your consent, for other purposes as specified in the cookie policy.
You can consent to the use of such technologies by closing this notice, by interacting with any link or button outside of this notice or by continuing to browse otherwise.