选择MySQL还是选择SQL Server Express(免费)?

Geo*_*ge2 5 .net c# mysql sql-server asp.net

我需要开发一个面向中型Inernet的网站(例如,少于1000个用户),用于信息共享和简单的工作流程.由于预算限制,我选择免费数据库.由于开发人员熟悉.Net,C#/ ASP.Net是选择的编程语言.我使用Windows Server 2008 x64版本作为操作系统.

我想知道在我的情况下,使用MySQL或SQL Server Express(免费)的优缺点?我认为结论可能与不同的人/观点不同,但学习事实(利弊)将有利于我做出决定.

乔治,提前谢谢

pho*_*bus 8

如果SQL Server Express满足您的需求而不会遇到其限制,并且您的开发人员/管理员最熟悉MS SQL,那么请使用它.

否则,使用MySQL.

在这些情况下,总体战略通常是使用您所知道的,只要它能满足您的技术需求.

SQL Server Express的限制是:

  • 一次仅限一个处理器(尽管它可以使用多核处理器的所有核心)
  • 可以使用最大1GB的RAM来缓冲数据
  • 最大数据库数据大小为4GB(2012年为10GB)
  • SQL Profiler不包括在内(但可以与廉价的开发人员版工具一起使用)
  • 未提供工作安排(IIRC)
  • 未提供进出口(IIRC)

SQL Server Express仍然使用与其他所有版本相同的数据库引擎,并且除了上述限制外,它的性能不受限制.

  • 此外,如果您遇到上述限制,迁移到例如标准版的SQL服务器(可能通过托管解决方案)将非常容易. (3认同)
  • 如果你达到快速,容量方面的限制,并且仍然没有足够的钱来升级到标准版,那么你的商业模式或你对数据库的使用都是严重缺陷的=) (3认同)
  • @George 两者都提供关系数据库。在我看来,MS SQL 为数据库管理提供了一套更强大的工具,而 T-SQL 作为一种语言非常强大。此外,它还提供与 .NET 工具的卓越集成。我想说,从功能的角度来看,MS SQL Express 等于或领先于 MySQL。真正的问题是熟悉度+集成是否可以弥补限制(如果您不需要超过 4GB DB/1 proc/1GB ram,这可能没有实际意义)。 (2认同)

Asa*_*aph 5

考虑到您致力于为您的代码和操作系统使用 Microsoft 堆栈,SQL Server Express 感觉很自然。与包括 MySQL 在内的混合堆栈相比,您可能能够在端到端 Microsoft 堆栈周围找到更好的社区支持。

SQL Server Express 有一些限制,但如果您的项目达到了成为问题的规模,希望它将产生足够的流量/收入来支持升级到非免费 SQL Server 产品。