返回顶部
首页 > 资讯 > 数据库 >MySQL只可以用来做小项目吗
  • 206
分享到

MySQL只可以用来做小项目吗

2024-04-02 19:04:59 206人浏览 八月长安
摘要

下面一起来了解下Mysql只可以用来做小项目吗,相信大家看完肯定会受益匪浅,文字在精不在多,希望mysql只可以用来做小项目吗这篇短内容是你想要的。        &

下面一起来了解下Mysql只可以用来做小项目吗,相信大家看完肯定会受益匪浅,文字在精不在多,希望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. 支持多版本读

4. 支持行级锁

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

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

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

8. ...

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

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

第二个问题

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

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

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

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

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

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

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

看完MySQL只可以用来做小项目吗这篇文章后,很多读者朋友肯定会想要了解更多的相关内容,如需获取更多的行业信息,可以关注我们的数据库栏目。

您可能感兴趣的文档:

--结束END--

本文标题: MySQL只可以用来做小项目吗

本文链接: https://lsjlt.com/news/35578.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • MySQL只可以用来做小项目吗
    下面一起来了解下MySQL只可以用来做小项目吗,相信大家看完肯定会受益匪浅,文字在精不在多,希望MySQL只可以用来做小项目吗这篇短内容是你想要的。        &...
    99+
    2024-04-02
  • php可以做什么项目
    php可以做的项目目前大概分三个方向:1、pc端网站开发。2、app后台开发。3、webapp和轻应用开发。php项目的简单介绍:pc端网站开发全球大概60%的互联网网站用的是php技术,国内大概80%的互联网网站在用php开发。网站类型包...
    99+
    2024-04-02
  • php8可以做什么项目
    可以做的项目有网站开发、内容管理系统、电子商务平台、社交网络、应用程序开发等等。详细介绍:1、网站开发,PHP8在网站开发方面有着广泛的应用,无论是个人博客、企业网站还是电子商务平台,PHP8都能够提供强大的功能和灵活的开发工具,PHP8的...
    99+
    2023-10-22
    PHP8
  • c#可以做哪些项目
    c# 是一种广泛用于开发各种项目类型的编程语言,包括:桌面应用程序web 应用程序移动应用程序游戏开发云计算应用程序ai 和 ml 项目企业应用程序跨平台应用程序其他项目(数据库访问、数...
    99+
    2024-04-04
    c# 移动应用程序 企业资源计划
  • golang可以做小工具吗
    golang可以做小工具,其原因是:1、具有出色的性能;2、拥有强大的并发编程能力;3、具有丰富的标准库和第三方库支持;4、语法简洁,易于理解和维护;5、具有跨平台的特性。本文操作环境:Windows10系统、go1.20版本、DELL G...
    99+
    2023-07-17
  • Visual C++项目可以做什么
    这篇文章主要讲解了“Visual C++项目可以做什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Visual C++项目可以做什么”吧!Visual Studio 2010还是比较常用的...
    99+
    2023-06-17
  • vue项目名可以用中文吗
    本教程操作环境:windows7系统、vue3版,DELL G3电脑。一、命名规范市面上常用的命名规范:camelCase (小驼峰式命名法–首字母小写)PascalCase (大驼峰式命名法–首字母大写)kebab-case(短横线连接式...
    99+
    2023-05-14
    Vue
  • 云服务器可以做什么项目用
    云服务器是一种基于云计算技术的虚拟服务器,它可以提供强大的计算、存储和网络资源,可以用于各种不同类型的项目。以下是一些云服务器可以用于的项目: 1. 网站和应用程序托管 云服务器可以用于托管各种类型的网站和应用程序,包括静态网站、动态网站...
    99+
    2023-10-26
    做什么 服务器 项目
  • 云服务器可以做什么项目
    云服务器是一种虚拟化软件,允许您将计算资源分配给多个用户,从而为您的客户提供各种服务。以下是一些您可以尝试使用云服务器进行的一些简单项目: 网站托管:将您的网站托管在云服务器上,可以帮助您在不同的地理位置提供网站服务。例如,您可以将数据...
    99+
    2023-10-26
    做什么 服务器 项目
  • redis可以用来做什么
    这篇文章将为大家详细讲解有关redis可以用来做什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 Redis不仅可作为缓存服务器,还可用作消息队列。它的列表类...
    99+
    2024-04-02
  • phpmyadmin可以用来做什么
    这篇文章主要介绍了phpmyadmin可以用来做什么,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。phpMyAdmin 是一个以 PHP 为...
    99+
    2024-04-02
  • Css可以用来做什么
    本篇内容主要讲解“Css可以用来做什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Css可以用来做什么”吧! css可以用来表现H...
    99+
    2024-04-02
  • VPS可以用来做什么
    VPS指的是虚拟服务器,它的功能和管理和独立服务器差不多,主要可以用来做虚拟主机空间、游戏平台、电子商务平台、企业应用平台、数据库存储平台等多个方面使用。具体内容如下:虚拟主机空间VPS可以满足中小企业、小型门户网站、个人工作室使用,有较大...
    99+
    2024-04-02
  • JavaScript可以用来做什么
    本篇内容主要讲解“JavaScript可以用来做什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“JavaScript可以用来做什么”吧! ...
    99+
    2024-04-02
  • vue.js可以用来做什么
    本篇内容主要讲解“vue.js可以用来做什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“vue.js可以用来做什么”吧! 本文操作...
    99+
    2024-04-02
  • vuex可以用来做什么
    本篇内容介绍了“vuex可以用来做什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!先说一下vuex到底是...
    99+
    2024-04-02
  • html5可以用来做什么
    小编给大家分享一下html5可以用来做什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!html5能做的:1、微信小程序,在开发的过程,就会应用到HTML5的技术...
    99+
    2023-06-14
  • node可以用来做什么
    Node.js 是一个用于服务器端和网络应用开发的运行时环境,它基于 JavaScript,并提供了一系列功能强大的特性和工具。下面是 Node.js 可以用来做的一些事情:服务器端开发:Node.js 可用于构建高性能的服务器端应用程序,...
    99+
    2023-07-10
  • VBS可以用来做什么
    这篇文章给大家分享的是有关VBS可以用来做什么的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 计算   2. 处理文件和文件夹 3. 管理Windows 4.&n...
    99+
    2023-06-08
  • css可以用来做什么用
    这篇文章主要介绍css可以用来做什么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!css的作用:1、简化页面的格式代码,外部的样式表还会被浏览器保存在缓存中,加快了加载速度,也减少了需要上传的代码数量。2、避免逐个...
    99+
    2023-06-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作