【问题标题】:.NET + MySQL (or alternative SQL-based DB) a good choice?.NET + MySQL(或替代的基于 SQL 的数据库)是一个不错的选择吗?
【发布时间】:2015-07-29 20:39:09
【问题描述】:

我查看了很多关于 MySQL 与 SQL Server 的文章,但它们都与 Web 应用程序有关。我现在很难将 SQL Server 与我们的应用程序一起使用,因为存储的数据量会增长并且服务器速度很慢。除了数据库和应用程序设计之外,我想问一下选择 MySQL 而不是 SQL Server 是否是一个好的选择?或者也许我应该考虑其他一些替代方案?

我想使用 MySQL 的原因是它是免费的。我们的大多数客户都使用 SQL Express,这在使用的资源上非常有限,并且随着公司的发展,他们不愿意切换到 SQL 标准。我相信应用程序和数据库很快就会重新设计,因此我开始考虑 MySQL。

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

我还在早期管理新软件的创建,我正在考虑是否应该使用 SQL Server 或 MySQL,因此我很想听听关于这个潜在解决方案的任何意见,任何优点和缺点来自那个?

一些可能相关的信息:

  • 当前应用程序使用硬编码的 SQL 查询,我想切换 到存储过程
  • 第二个软件实现存储 程序
  • 这两个应用程序都可以作为单工作站软件运行,也可以通过集中式数据库服务器分布在 LAN 网络上

【问题讨论】:

  • 这个问题是 stackoverflow 的主题,因为它的答案将主要基于意见。我的 2 分钱是通过创建一个允许您为任何 RDBMS 实现数据访问的基本数据访问层来尝试使应用程序对您选择的特定 RDBMS 视而不见。它可以创建一个单独的 dll,以便您可以将其重新用于不同的应用程序。
  • @ZoharPeled 你是完全正确的 :) 我使用的是遗留代码,因此我现在不能随意更改它,但就像我提到的那样,无论如何它都需要重新设计,我是考虑独立于数据库的解决方案。唯一让我害怕的是不同的数据类型。
  • 我不知道 sql server 中有任何数据类型无法转换为 .Net 数据类型,我想这同样适用于 MySql 但我不能确定,因为我有使用此 RDBMS 的经验很少。

标签: mysql .net sql-server


【解决方案1】:

您说对了,MySQL 可以比 SQL Server Express 更便宜地进行扩展。

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

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

这两个系统都与 Visual Studio 和 Eclipse 等开发工具完美集成。

你提到了这些点。

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

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

第二个软件实现存储过程

不清楚你的意思。

这两个应用程序都可以作为单工作站软件工作,或者通过集中式数据库服务器分布在 LAN 网络上

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • 实际上只执行了 CRUD 操作。我担心的是 MySQL 中的多个子查询/连接,我听说这很慢。购买 SQL Server 不是一种选择,因为它取决于不愿为此付费的最终用户。
    • 你介意给我一个可以阅读 MySQL SP 限制的来源吗??
    • SP 在 MySQL 中受支持,但在 MS SQL 中更高级,如果使用 MS SQL 与 MySQL,您将节省大量时间(和精力)。无论如何,我认为您可以将 MySQL 用于您的项目。顺便说一句,Oracle 也有免费版本(有限制)。
    猜你喜欢
    • 2019-06-07
    • 2011-08-11
    • 1970-01-01
    • 1970-01-01
    • 2017-08-08
    • 1970-01-01
    • 2016-12-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多