.NET+;MySQL(或其他基于SQL的数据库)是一个不错的选择?

.NET+;MySQL(或其他基于SQL的数据库)是一个不错的选择?,mysql,.net,sql-server,Mysql,.net,Sql Server,我已经看过很多关于MySQL和SQL Server的文章,但它们都与Web应用程序有关。我现在很难在应用程序中使用SQL Server,因为存储的数据量在增长,而服务器速度严重减慢。除了数据库和应用程序设计之外,我想问一下,选择MySQL而不是SQL Server是否是一个好的选择?或许我应该考虑其他的选择? 我想使用MySQL的原因是它是免费的。我们的大多数客户都使用SQL Express,这在使用的资源上非常有限,而且随着公司的发展,他们不愿意切换到SQL标准。我相信应用程序和数据库很快就会

我已经看过很多关于MySQL和SQL Server的文章,但它们都与Web应用程序有关。我现在很难在应用程序中使用SQL Server,因为存储的数据量在增长,而服务器速度严重减慢。除了数据库和应用程序设计之外,我想问一下,选择MySQL而不是SQL Server是否是一个好的选择?或许我应该考虑其他的选择? 我想使用MySQL的原因是它是免费的。我们的大多数客户都使用SQL Express,这在使用的资源上非常有限,而且随着公司的发展,他们不愿意切换到SQL标准。我相信应用程序和数据库很快就会重新设计,因此我开始考虑MySQL

我所说的应用程序是一个桌面管理系统,大量的读写操作以及大量的数据操作(用于报告)

我还在早期阶段管理新软件的创建,我在考虑它是否也应该使用SQL Server或MySQL,因此我很想听听关于这个潜在解决方案的任何意见,以及由此产生的任何优点和缺点

一些可能相关的信息:

  • 目前应用程序使用硬编码的SQL查询,我想切换 到存储过程
  • 存储的第二个软件实现 程序
  • 这两种应用程序都作为单个工作站软件工作,或者通过局域网和集中数据库服务器分散工作

MySQL可以比SQL Server Express更便宜地扩展,这是正确的

SQL Server(所有版本)和MySQL都需要随着表大小的增长进行分析和调整。SQL Server中的速度减慢可能是由于没有适当索引的查询造成的。当表中有数百行时,该查询的性能是可以接受的。现在您已经有了上万个或更多,查询速度太慢了。切换到MySQL不会以任何神奇的方式解决这个问题,但添加索引会解决这个问题

这两种数据库系统都适用于web和桌面应用程序

这两个系统都能很好地与VisualStudio和Eclipse等开发工具集成

你提到了这几点

目前应用程序使用硬编码SQL查询,我想切换到存储过程

SQLServer工具链具有比MySQL更好但更昂贵的开发和调试存储过程的工具。在MySQL中调试SP是一个众所周知的难题。可以编写两个数据库系统之间兼容或几乎兼容的普通SQL查询。但是完全不可能编写在这两者上运行的存储过程

第二个软件实现存储过程

不清楚你这是什么意思

这两种应用程序都作为单个工作站软件工作,或者通过局域网和集中数据库服务器分散工作


这会影响应用程序安装程序。在单座情况下,您必须在本地计算机上安装数据库系统和软件

如果没有复杂的存储过程,主要是SELECT-s和INSERT/UPDATE-s,那么可以使用MySQL。(MySQL支持SP,但在MS SQL中更强大)。然而,我认为如果您的客户机的数据库变得太大并且超过了MS SQL Express的限制,那么购买SQL Server+Windows Server并不是很大的开销

这个问题是stackoverflow的主题,因为它的答案主要基于观点。我的2美分将是通过创建一个基本的数据访问层,允许您实现对任何RDBMS的数据访问,从而使应用程序对您选择的特定RDBMS保持盲视。它可以创建一个单独的dll,以便您可以为不同的应用程序恢复它。@ZoharPeled您完全正确:)我使用遗留代码,因此目前无法自由更改它,但正如我提到的,它无论如何都需要重新设计,我正在考虑独立于数据库的解决方案。唯一让我害怕的是不同的数据类型。我不知道sql server中有哪种数据类型不能转换为.Net数据类型,我想MySql也是如此,但我不能确定,因为我对这种RDBMS几乎没有经验。实际上只执行CRUD操作。我关心的是MySQL中的多个子查询/连接,我听说这相当慢。购买SQL Server不是一个选项,因为它取决于不愿意付费的最终用户。您是否介意为我提供一个我可以了解MySQL SP限制的来源??MySQL支持SP,但MS SQL更高级,如果使用MS SQL vs MySQL,您将节省大量时间(和神经)。无论如何,我认为你可以在你的项目中使用MySQL。顺便说一句,Oracle还有一个免费版本(有限制)。