选择 MySQL 还是选择 SQL Server Express(免费)?
Posted
技术标签:
【中文标题】选择 MySQL 还是选择 SQL Server Express(免费)?【英文标题】:choose MySQL or choose SQL Server Express (free)? 【发布时间】:2010-12-26 17:36:58 【问题描述】:我需要开发一个面向 Inernet 的中型网站(例如,少于 1000 个用户),用于信息共享和简单的工作流程。由于预算限制,我选择免费数据库。由于开发人员熟悉 .Net,因此 C#/ASP.Net 是首选的编程语言。我正在使用 Windows Server 2008 x64 版本作为操作系统。
我想了解在我的情况下,使用 mysql 或 SQL Server Express(免费)的优缺点?我认为结论可能因不同的人/观点而有所不同,但了解事实(利弊)将有利于我做出决定。
提前致谢, 乔治
【问题讨论】:
如果 .NET 是开发语言,那么我肯定会选择 SQL Server Express。不是因为它免费,而是我相信它与 .NET 的兼容性会更好。 不能告诉你具体的优缺点,但肯定是 .net 开发人员会更熟悉 sql server。 A9S6,.Net for MySQL 是否存在已知的兼容性问题? 谢谢大卫!听说 SQL Server Express 有占用空间不大于 4G 的限制,不知道 MySQL 的性能是否更好? 您可能还需要考虑支持 - 如果(以及何时)出现问题,您是否需要寻求帮助? 【参考方案1】:如果 SQL Server Express 能够满足您的需求而不受其限制,并且您的开发人员/管理员最熟悉 MS SQL,那么请使用它。
否则,请使用 MySQL。
在这些情况下,总体策略通常是使用您所知道的,只要它能够满足您的技术需求。
SQL Server Express 的限制是:
一次只能使用一个处理器(尽管它可以使用多核处理器的所有内核) 最多可以使用 1GB 的 RAM 来缓冲数据 最大数据库数据大小为 4GB(2012 年为 10GB) 不包括 SQL Profiler(但可以与廉价的开发人员版工具一起使用) 未提供作业调度 (IIRC)SQL Server Express 仍然使用与所有其他版本相同的数据库引擎,并且它不受上述限制的性能限制。
【讨论】:
另外,如果您确实遇到了上述限制,迁移到例如标准版本的 SQL Server(可能通过托管解决方案)将非常容易。 如果你达到了快递的极限,容量方面,仍然没有足够的钱升级到标准版,无论是你的商业模式,还是你对数据库的使用都存在严重缺陷 =)跨度> 导入/导出现在包含在 SQL Express 2008 管理工具中:msdn.microsoft.com/en-us/library/cc645993.aspx 您可以将(非常便宜的)Developer Edition 中的 SQL Profiler 与 SQL Express 一起使用。 @George 都提供关系数据库。 IMO,MS SQL 提供了一套更强大的数据库管理工具,而 T-SQL 作为一种语言非常强大。此外,它还提供与 .NET 工具的出色集成。我想说从功能的角度来看,MS SQL Express 等于或领先于 MySQL。问题实际上是熟悉度+集成是否弥补了限制(如果您不需要超过 4GB 数据库/1 proc/1GB ram,这可能没有实际意义)。【参考方案2】:来自MySQL vs MS SQL Server:
MySQL 可以毫无问题地在 Windows 上运行,但在 UNIX 和类 UNIX 系统上性能更好。在 64 位处理器上使用 MySQL 可以获得额外的性能提升。
请注意,该部分中的某些语句可能被认为有点虚伪 - 例如“MySQL 已被证明在其基本表格式 MyISAM 中更快”,因为 MyISAM 似乎不支持“外键约束”之类的东西",那些有助于使关系数据库关系自我执行的小东西。
因此,与许多事情一样,在谈论性能时需要考虑许多因素。
【讨论】:
该链接将 SQL 2000 与 MySql 5.0 进行比较。 SQL 2000 现在有两代了;许多引用的值不再正确。 没错,但我没有注意到我的 SQL Server 实例在我从 SQL2k 迁移到 SQL2k8 时变慢了,这似乎是对功能的公平比较,而不是任何一方通常的 FUD或营销旋转(例如microsoft.com/sqlserver/2008/en/us/compare-mysql.aspx)。【参考方案3】:为什么不考虑 postgresql?它是免费且可靠的 ADO.Net 提供程序驱动程序可用:
例如http://www.devart.com/dotconnect/postgresql/
【讨论】:
似乎 postgresql 总是(从性能/功能/版面限制)优于 SQL Server express? 这是非常主观的,但我发现它比 MySql 没有那么“古怪”,并且没有 SQL Server Express 的内置限制。并发、行版本控制等似乎是以类似 Oracle 的方式实现的,即稳定高效。【参考方案4】:取决于服务器的负载量和数据库的大小。 SQL Server Express 的限制包括: - 最大 1GB RAM(仅此一项可能是决定性因素) - 1 个 CPU - 4GB 数据库大小限制
按版本here 列出了 SQL Server 功能的完整列表 仅凭这 3 点,您应该能够立即判断是否必须将 SQL Server Express 排除在外。
【讨论】:
那么,MySQL 似乎比 SQL Server express 优越得多? 好吧,SQL Server Express 有其局限性,根据您的情况,这可能会使 MySQL 成为更好的选择。我不能公平地评论 MySQL 的优缺点,因为我不使用它。我个人总是使用 SQL Server,但我为 SQL Server Enterprise Edition 托管支付了非常少的费用。如果 Express 限制对您来说是个问题,那么您需要为 SQL Server 托管付费以获得不同的版本,如果您不想付费,那么 MySql 是您最好的选择。【参考方案5】:考虑到您致力于为您的代码和操作系统使用 Microsoft 堆栈,SQL Server Express 感觉就像是天作之合。与包括 MySQL 在内的混合堆栈相比,您可能能够在端到端 Microsoft 堆栈中找到更好的社区支持。
SQL Server Express 有一些限制,但如果您的项目达到成为问题的规模,希望它会产生足够的流量/收入来支持升级到非免费 SQL Server 产品。
【讨论】:
听说 SQL Server Express 有占用空间不大于 4G 的限制,不知道 MySQL 的性能是否更好? 似乎 MySQL 总是(从性能/功能/版面限制)优于 SQL Server express?这是真的吗?以上是关于选择 MySQL 还是选择 SQL Server Express(免费)?的主要内容,如果未能解决你的问题,请参考以下文章
在 sql server 2012 中为西班牙语选择了啥排序规则?