使用MySQL作为数据库选择的陷阱?[关闭]


20

我曾多次在网上阅读过MySQL是一个不好的数据库的信息。我读过的地方在Reddit上有一些话题,但是他们似乎从来没有深入研究为什么它是差劲的产品。

这个说法有什么道理吗?我从来没有在一个非常简单的CRUD场景中使用过它,那是我第二年的大学项目。

选择MySQL作为数据库时会有什么陷阱(如果有)?


7
当然,主要的陷阱是Postgres狂热分子会试图使您对选择感到不安全。
丹·雷

Wikimedia使用它,所以它应该不会太糟。
Arlen Beiler

Answers:


32

有两种不同的陷阱,一种是使用MySQL作为您的RDBMS风格,另一种是使用RDBMS而不是其他类型的数据库。

使用MySQL代替其他RDBMS:

  • 有关MySQL与其他RDBMS的各种比较,请参见此Wikipedia比较表
  • 如果您要构建ASP.NET Web应用程序,则很可能希望使用Microsoft SQL Server,因为该系统旨在协同工作,我相信对于开发人员和IT经理而言
  • 如果您需要涉及集群(Oracle RAC)或高级数据库过程的更高级的数据库设置,则可以选择Oracle。并不是说MySQL不支持许多功能,而是从我所看到的情况来看,您很有可能会找到一个经验丰富的DBA,他比MySQL更了解Oracle。
  • 在SO上看到这个问题,以获得PostgreSQL与MySQL的广泛比较,这比我能做到的更好。
  • 甚至更多:MySQL与其他数据库相比的缺点

使用RDBMS代替其他类型:

综上所述,MySQL是一个很棒的数据库,在过去的8年中,我从未在没有使用过MySQL 的公司工作过,它在各种各样的Web应用程序中(例如电子商务,网站/应用程序) ,企业/ B2B,网页游戏)。对于大多数典型的Web应用程序用例而言,这是一个不错的选择。


4
很好的答案,尤其是对于MySQL与RDBMS以及RDBMS与NoSQL而言
Josh K

1
SQL Server还具有群集和高级功能。但是,您很确信,找到一位能够处理此类事情甚至不知道如何设计它们的mySQL数据库专家会遇到更多麻烦。这些人大多专门研究Oracle,db2或SQL Server。
HLGEM'3

1
@HLGEM,感谢您澄清,我的意思是显示Oracle的优势,而不是其他DBMS不支持这些功能。SQL Server在这些方面绝对有能力,对于不使用Windows的公司来说,它具有Windows依赖的自然缺点。
妮可(Nicole)

1
绝对正确,Windows依赖关系会伤害SQL Server。
HLGEM'3

8

MySQL现在处于Oracle的控制之下-尽管它们是开源的,但它们仍可以决定项目的方向和发展方向。

就坏数据库而言,没有比其他数据库“简单”的了。

如果您正在寻找弱点,我会为您指出,让我们以PostgreSQL为例。

  1. MySQL缺少容器类型和数组。
  2. MySQL缺少真实的序列(它们使用自动递增)-Postgres序列允许多个表使用单个序列,因此您可以保证多个表的基数。
  3. Postgres是ACID兼容的,MySQL是部分兼容的。
  4. Postgres以相同的方式实现字符变化和文本(Toast Tables)(大多数人认为这种方法比MySQL更好)。
  5. Postgres只有一个存储后端-这意味着您可以保证在所有地方都具有相同的功能。
  6. Postgres允许使用TCL,Python,R和Perl编写的服务器端功能。
  7. Postgres对Python中的异步驱动程序有很好的支持-我认为MySQL有点不受欢迎

6

从历史上看,它在事务支持方面很弱,如果需要保持一致的数据库,事务就很重要。如今,最大的说唱是Oracle拥有它。


4

长期以来,MySQL更像是一个“玩具”数据库。它不处理嵌套的子选择,不支持数据分区,不提供多个事务隔离级别,不支持触发器或存储过程-很多东西。来自Oracle或SQL Server背景的许多人都将其解雇。

我认为您没有看到许多MySQL缺点的真正原因是它拥有相当狂热的支持者,他们删除或否决了任何公开提及的内容。我知道任何时候我提到我遇到的任何问题时,回答往往都是负面的。


3

当与InnoDB存储引擎一起使用时,MySQL符合ACID标准-没有理由不这样做,因为MySQL符合ACID标准(从5.5版开始,InnoDB是默认存储引擎)。

MySQL受到了很多负面报道,因为它几乎根本不需要数据库(也许RDBMS技能有限),人们经常将其用作(或直到NoSQL出现之前)作为RDBMS的首选。方式。

我已经使用MySQL了很多,并且自从5.x出现以来,对于95%的具有中等需求的安装,几乎没有人抱怨它。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.