SQL Server语言 - LINQ 或 SQL 查询.什么更有效率



我有一个程序,其中包含包含数百万条记录的人的信息。

其中一项任务是按出生日期过滤结果,然后分组 他们按城市,最后将每个城市的人口与 给定的数字。

我开始

用SQL查询编写所有内容,但后来我开始怀疑,这可能会使服务器太忙,也许最好使用应用程序本身进行一些计算。

我想知道是否有任何规则/建议

  • 何时使用服务器进行计算?
  • 何时在应用程序中使用 LINQ 等工具?

对于这样的需求,没有固定的规则或策略,它是由应用程序/业务需求驱动的,一些建议可能会有所帮助:

  • 通常,Sql Query 在搅动大量数据以在过滤/分组/排序后提供较小的结果集方面做得很好。然而它需要
    正确的表设计,索引优化。随着数据大小的增加,Sql 的性能可能会不足

  • 通过网络将数据从托管数据库传输到应用程序会扼杀性能,因为网络可能是很大的瓶颈,尤其是在数据超出特定大小的情况下

  • 在内存处理中使用 Linq2Object 对于重复调用可能非常快,这需要应用过滤器、对数据进行排序并执行更多处理

  • 如果 UI 是富客户端,那么您可以负担得起在内存中引入大量数据并使用 Linq 继续处理它,它可以成为内存数据结构的一部分,如果 UI 是 Web,那么您需要缓存数据

  • 对于
  • 与sql相同的操作,对于内存数据,对于多种类型,您需要自定义代码,最好使用表达式树和linq,否则简单的linq可以对已知的固定类型执行

我在我的一个 Web 应用程序中有一个类似的设计,通常它是一个组合,在大多数实际场景中效果最好

相关内容

  • 没有找到相关文章

最新更新