代码之家  ›  专栏  ›  技术社区  ›  cdeszaq Sudhir N

在复杂的.NET项目中使用SQL Server而不是MySQL的原因是什么?

  •  9
  • cdeszaq Sudhir N  · 技术社区  · 15 年前

    我们现在有一个10年前的讨厌的、意大利式的、代码风格的SQL Server数据库,我们很快就要重新编写它,作为对大型Web应用程序重新编写的一部分。(现有应用程序将作为下一代应用程序的功能需求)新版本将在.NET中开发,因此应用程序堆栈的很大一部分将基于Microsoft技术(将使用Visual Studio,将使用IIS作为应用程序服务器)。

    该项目的一个开发人员提出了切换到MySQL而不是SQL Server的可能性,以节省DB服务器的许可证以及设计和操作DB的工具(例如非常自由的MySQL工作台)的成本。

    对于复杂的.NET项目,使用SQL Server和MySQL作为数据库有哪些优点和缺点?价格是我们已经确定的一个因素,无论是在数据库服务器许可证方面还是操作数据库的工具方面,但是还有什么其他因素起作用?

    7 回复  |  直到 15 年前
        1
  •  6
  •   Reed Copsey    15 年前

    我的MySQL pro/con列表与.NET项目的SQL Server列表如下:

    从pros到mysql:

    1. 成本

    pros到SQL Server:

    1. 更好的工具支持,尤其是.NET(实体框架+其他ORM支持更好)
    2. 更好的Visual Studio支持
    3. 更好的集成支持,尤其是当您想做Silverlight+RIA等事情时。
        3
  •  4
  •   Graviton    15 年前

    使用SQL Server,您可以在实体类和数据库模式之间拥有更好的工具集成(如设计器)。

    你只需拖动一个数据库并将其放到设计器中,然后Viola就可以了!将生成映射到表及其关系的所有实体。 alt text http://www.scottgu.com/blogposts/linqtosql/step1.jpg

    对于MySQL,显然许可成本是一个优势

        4
  •  0
  •   ChrisNel52    15 年前

    听起来这是你正在做的一个大项目。显然,与MySQL相比,使用SQL Server的许可成本更高,但使用MySQL也有许多隐藏的成本。

    如果这是一个非常大的项目,并且您的开发团队已经接受过SQL Server方面的培训,那么与数百小时的开发时间相比,SQL Server许可证的额外成本是微不足道的。

        5
  •  0
  •   Scott Ivey    15 年前

    除了本页上的其他答案,我还将考虑以下内容:

    1. MS SQL具有数据库镜像能力——如果您需要高可用性和自动故障转移,这将是一个值得考虑的问题。
    2. 当地有专家。你应该做一点调查,看看你的选择是什么,以获得当地专家的帮助。当数据库死后,您不希望突然发现没有可用的本地帮助。
        6
  •  0
  •   PstScrpt    15 年前

    SQL Server优点:

    • 所有表上的事务处理(快速引擎和安全引擎之间没有选择)
    • 在SQL Server中,当子查询是编写查询的最自然的方式时,您可以继续并执行它。特别是对于派生表和存在子查询的地方,不太可能会有性能损失。
    • 从MS获得的任何示例都将假定为SQL Server。在我目前的工作中,把所有的东西都翻译成甲骨文总是一件麻烦事。
    • 我发现SQL Server中的派生列非常方便,尽管它们会混淆ORM。
    • MySQL支持外键还是检查约束?
        7
  •  0
  •   Xorty    15 年前

    如果使用.NET,我个人会坚持使用MSSQL。 正如一些人之前建议的那样,它对工具更加友好

    但是Java有一些非常友好的MySQL环境。如果你不介意使用Java,试试吧。具有Java持久性API的NETBeOPEIDE实际上是MySQL友好的: