连接到SQL Server数据库哪个更好?直接使用ADO.net还是WCF?

时间:2019-07-16 13:08:26

标签: c# vb.net wcf ado.net

我使用ADO.net类连接到SQL Server数据库。当我连接到基于WAN的远程计算机数据库时,它的运行速度非常慢。我知道这很正常。我想加快服务器和客户端之间的数据库连接。现在的问题是:如果我在服务器计算机上安装了一项服务,并通过WCF从客户端计算机向它发送数据库请求,那比通过ADO.net直接连接到服务器更好?还有其他方法吗?

2 个答案:

答案 0 :(得分:2)

这两个概念只是松散相关:

  • WCF用于拨打网络电话。
  • ADO用于查询数据库。

ADO是获取数据的最快方法之一。如果您的速度很慢,那就是别的。例如,Stackoverflow使用Dapper,它位于ADO的顶部进行调用。

注意事项:

  • 什么是“慢”。 2秒查询多个联接和成千上万的行还不错。
  • 您的查询是否已优化
  • 您仅返回必需的数据
  • 您的数据库是否已优化
  • 您确定是查询吗?成千上万的行在查询中可能需要65毫秒,但如果采取某些方法,则呈现到网格的时间会更长。

这里有一点需要考虑,混淆术语会使情况变得更糟。

首先获取您的ADO查询,然后直接在SSMS中运行SQL。你们那边的时间是几点了?如果速度缓慢,请进行优化。如果速度很快,请向下移动堆栈,直到找到速度较慢的部分并解决该问题为止。

答案 1 :(得分:1)

我认为

  • 更好,更安全地使用WCF服务。
  • 这是因为每当您使用ADO.net时,都必须将ConnectionString存储在应用程序中,而不必将其存储在WCF中。
  • 当然ADO比WCF快,这是因为您连接了WCF,而WCF连接了ADO。