繁体   English   中英

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

[英]Which is better to Connect to SQL Server database? ADO.net directly or WCF?

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

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

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

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

注意事项:

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

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

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

在我看来,

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM