每一本教授编程(或几乎任何其他内容)的书都从一大堆关于为什么它(C++、MySQL、滑水、跳伞、牙科等)是世界上最伟大的东西的故事开始.所以我打开MySQL O'Reilly的书,读了介绍,然后得到了传统的布道.这the book mentioned条建议的要点是:

  • MySQL已被证明与Oracle并列为速度最快、可伸缩性最强的数据库软件.
  • 它是免费的,并且是开源的.

听起来很有说服力,但我知道每个故事都至少有两面性.当我看到有人建议某人使用Oracle而不是MySQL时,我知道我需要醒悟,我想,"你到底为什么要这么做?!",只是因为我读了几段,没有其他理由.因此,让我们来研究故事的另一面:

不使用MySQL的一些原因是什么?

推荐答案

这只是我脑海中突然出现的一个随机列表.这是CW,所以可以根据需要添加.

  1. 甲骨文提供了基于其数据库的顶级ERP.如果你的公司要遵守萨班斯-奥克斯利法案的规定,这就比"至关重要"要高得多
  2. SQL Server许可证随Analysis Services、Integration Services和Reporting Services一起提供.如果您想使用OLAP、ETL或报告来做任何事情,这三个都是构建在SQL Server堆栈上的优秀应用程序.
  3. SQL Server具有原生.NET数据类型(2008年).对于处理地理空间数据集的.NETstore 来说,这绝对是非常棒的.
  4. MySQL不支持判断约束.
  5. SQL Server包含over子句,这有助于处理"每组前n行"问题.本质上,您可以按照自己喜欢的方式在数据集上进行聚合函数分区.
  6. SQL Server本机使用Kerberos和Windows身份验证.MySQL没有绑定到Active Directory.
  7. 子查询性能卓越(几乎所有数据库的子查询性能都优于MySQL)
  8. Oracle、SQL Server、PostgreSQL和其他应用程序具有更丰富的连接算法集;这意味着通常可以更快地执行连接,特别是在涉及大型表时.

Database相关问答推荐

生产中的超大型 Mnesia 表

优雅地处理 EJB/JPA 环境中的约束冲突?

安装 SQL Server Management Studio Express后提示:Cannot open user default database. Login failed.

库存数据库的最佳 struct

如何在 2 个 MySQL 数据库之间传输数据?

是否有任何用于 NoSQL 数据库架构迁移的工具?

在 SQL SERVER 中监视 SQL 查询的进度

应用程序用户应该是数据库用户吗?

在 SQL Server 中,如何以类似于 Oracle 的SELECT FOR UPDATE WAIT的方式锁定单行?

使用多个数据库模式的 JPA

您最喜欢在 django 中管理数据库迁移的解决方案是什么?

没有自动增量的sqlalchemy主键

在 Firestore 中使用嵌套的单个查询

从 CSV 文件填充 Android 数据库?

我如何做大于/小于使用 MongoDB?

Django + PostgreSQL:如何重置主键?

如何使用 group_concat 引用值

每个开发人员一个数据库?

NoSQL 数据库是否使用或需要索引?

我可以在 /sdcard 上下载 SQLite 数据库并从我的 Android 应用程序访问它吗?