除了初始成本之外,使用MySQL而不是使用.net的SQL服务器还有其他好处吗?

时间:2008-10-22 22:10:03

标签: mysql .net sql-server

我已经使用了两者,我发现MySql有几个令人沮丧的错误,有限的支持:IDE集成,分析,集成服务,报告,甚至缺乏体面的经理。吹嘘MSSQL Server的总体拥有成本也低于MySQL(.net环境),但保持开放的态度有人可以指出MySql的任何杀手级功能吗?

7 个答案:

答案 0 :(得分:2)

我过去使用过MySQL而且我最近使用的是MSSQL,但我记不起MySQL有什么,MSSQL也做不到。

我认为MySQL最具杀手功能的是简单性。对于某些项目,您不需要使用像MSSQL这样的庞大系统可以拥有的所有功能。我有一个UNIX传统,并且发现像my.ini这样的简单配置文件是MySQL的一个杀手级功能。

此外,MySQL的安全系统不太健壮,但它使大多数应用程序的工作正常。从这个角度来看,我认为MySQL本身就是杀手锏,应该保持这种状态,让年轻用户首先通过简单的视图介绍RDBMS。如果您的项目变得足够大以至于您正在考虑切换到更强大的系统,那么MSSQL可以弹出。

这就是发生在我身上的事。

答案 1 :(得分:1)

我能想到的唯一一件事就是锁定。传统上,SQLServer的锁定策略很差,导致很多人绊倒。

你应该最终使用你喜欢的东西。它不像MySQL不足以与MS SQL竞争,例如。 Slashdot使用MySQL,因此很难解决高可扩展性问题。

它的杀手级功能是它是免费的 - 您可以部署尽可能多的功能而无需担心一个关于许可问题的无花果。这对软件的传播比任何人想象的都重要。

(总体拥有成本是一项难以计算的事情 - 并且只是来自付费顾问和其他既得利益人的建议。忽略这一点.MSSQL很昂贵且MySQL是免费的。)

答案 2 :(得分:1)

大约6年前,我开发了一个使用ASP和MySQL作为数据库的自定义电子商务网站。当时MySQL显然是比MSDE更好的选择,而MSDE已经内置了限制,这让我足以使用MySQL。使用MySQL和MSDE / SQL之间的编码差异也没有那么大或者很大。

现在这些年以后,我试图将代码转换为.NET,甚至在从CRLab购买商业MySQL驱动程序之后。我发现,正如您所暗示的那样,IDE集成只是达不到标准。

我会说即使我们的数据库表接近4GB,MySQL也做得很好。因此,当我切换到MSSQL时,我必须继续使用SQL Workstation或更高版本($$$),而不是使用具有4gb限制的SQL Express。

我的所有经验都改变了我开发新网站的方式。现在,除非预计会有很多流量。我使用VistaDB,然后根据需要升级到SQL Server。 VistaDB是与SQL Server兼容的语法和数据源。最好的部分是它只是数据库的单个文件和bin文件夹的dll。

根据我在ASP和现在使用MySQL的个人经验,这是我的两分钱。

答案 3 :(得分:1)

我经常使用MSSQL,MySql和PostGres(使用.net,java和PHP)。关于MySQL的一个我最喜欢的事情(特别是与MSSQL相比)是您可以轻松运行和恢复完整数据库备份。

MSSQL使用.bak文件的模型非常丑陋且耗时(另一篇文章的主题。)但是如果你想做一些像自动化测试或自动构建过程(包括从头开始构建数据库),MySQL可以更容易处理。

其他几点:

管理工具从早期开始就变得更好了。

如果您对事务,约束等感兴趣,请确保您定义表以使用InnoDB存储引擎(而不是专为速度而设计的MyISAM。)

我确实错过了MSSQL的架构生成工具,但我认为有相同的工具。

我们使用Linux数据库服务器和窗口的Web服务器(用于.net应用程序)取得了巨大的成功。

如果您使用的是像NHibernate或其他非MS数据抽象层这样的东西,那么超越MSSQL的情况也更强......

答案 4 :(得分:1)

要考虑的三点;不幸的是前两个是矛盾的:

1).NET和MySQL的设计并不是为了彼此互动,并且任何一方都没有官方支持。你总是会遇到试图一起使用它们的问题。

2)如果Windows的可移植性可能成为一个问题(很多.NET代码通过Mono在其他平台上运行得非常好),您将希望避免将自己锁定到MSSQL过于深入。这并不意味着不使用它,但要小心你不要过分依赖它的特殊怪癖。

3)TCO只是一个流行语。当它由以外的任何人计算时,这完全是胡说八道。没有人可以进行这样的计算,并诚实地声称它在其特定环境之外具有任何相关性。有太多因素,其中大多数与工具可用性等事情完全无关。

答案 5 :(得分:0)

我一直在使用社区版的MySQL来完成99%的项目。我喜欢MySQL,我可以通过Xcopy进行部署,与其他“xcopy-able”数据库服务器相比,功能强大。我还写了一个包装器来启动和停止MySQL& Apache(如LAMP),但具有我自己的实现和插件功能

答案 6 :(得分:-4)

MySQL可能具有较低的TCO,因为管理和配置比使用MS SQL使您完成大部分配置的Spaghetti GUI更简单明了,不得不深入挖掘数百个不起眼的属性对话框以完成基本的管理任务

根据我的经验,MS SQL有一个明显优于MySQL的领域:

  • 与其他技术集成。 MS SQL允许您与Oracle和MySQL数据库来回复制,并提供SSIS以执行来自其他数据库服务器的计划数据转换。

可能还有其他人,但我对他们没有经验。