gpt4 book ai didi

c# - 我应该在 SQL 中还是在 LINQ 中执行 Where 子句?

转载 作者:行者123 更新时间:2023-11-30 19:11:02 24 4
gpt4 key购买 nike

我有一个方法可以将 where 子句传递给查询。然后此方法返回一个数据集。

什么更快更高效?传递 where 子句以便 SQL Server 发回更少的数据(但必须做更多的工作)或让 Web 服务器通过 LINQ 处理它?<​​/p>

编辑:

这是假设 SQL Server 比 Web 服务器更强大(可能应该是这种情况)。

最佳答案

您是否直接使用 ADO.Net 来执行数据访问?如果是这样,那么是 - 在您的 SQL 中使用 WHERE 子句并限制发送回您的应用程序的数据量。

SQL Server 在这方面非常高效,您可以设计索引来帮助它访问数据,并且您将更少的数据传输回您的客户端应用程序。

假设您在一个表中有 20,000 行,但您只对其中的 100 行感兴趣。当然,只从源中抓取 100 行并将它们发回,而不是随后在 Web 应用程序中过滤的全部行,效率要高得多。

您已经标记了 linq-to-sql,如果是这种情况,那么在您的 LINQ 语句中使用 WHERE 子句将在 SQL Server 上生成 WHERE 子句。

但总的来说,只要获取您感兴趣的数据即可。通过网络传输的数据较少,查询通常会运行得更快(只要通过索引等进行了优化),并且您的客户端应用程序的工作量会更少这样做,它已经只获得了它感兴趣的数据。

关于c# - 我应该在 SQL 中还是在 LINQ 中执行 Where 子句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13511583/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com