c# - 使用 LINQ 加速查询

标签 c# linq-to-sql performance ibm-midrange

我正在将大约 350 行(带有一些数据收集)从 MS SQL Server 传输到 iSeries 进行处理。我觉得这个过程太慢了,大约一分钟左右。我在 LINQ2SQL 中完成所有 MS SQL 的工作。这是我目前正在做的事情的基础:

  1. 收集所有车辆主数据以一次处理一个。
  2. SUM() 车辆燃料使用量
  3. SUM() 机油用量
  4. SUM() 车辆使用的零件
  5. SUM() 车辆人工
  6. SUM() 外部车辆维修
  7. SUM() 车辆事故成本

我意识到这是很多查询,但其中大部分来自 MS SQL Server 中的不同表。所有这些至少需要一个连接。我正在考虑将 Oil and Parts 加入到一个查询中,将 Outside Repairs and Accident Costs 加入到一个查询中,因为这两者都存储在同一个表中,看看是否可以提高性能。

您还有什么建议吗?

请注意,这是供应商交付的产品,我宁愿不创建数据库中尚不存在的任何存储过程或 View (基本上没有)。

更新:我有 another post寻找提高速度的替代方案。

最佳答案

您或许可以将这些查询启动到单独的线程中并等待它们返回?然后,您的所有计算将在大约相同的时间内完成,比方说,我猜现在需要的时间是现在的一半。

在我看来,将每个表的结果分组是一个好主意,因为您已经在处理这些数据。

按表对查询进行分组并将它们启动到不同的线程中肯定会提高性能。这完全取决于这是否最适合您的情况。

关于c# - 使用 LINQ 加速查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2410466/

相关文章:

c# - bool 值求值的 LINQ to SQL 顺序

c++ - 为什么使用 'if' 语句可以提供更好的性能?

C -一系列 if 语句与 else if 时间测量

c# - PostgreSQL 和 Entity Framework 的超时问题

c# - 安卓 Xamarin C# : app runs in emulator but in actual device gets error: [INSTALL_PARSE_FAILED_BAD_MANIFEST]

ASP.net 4.0 实体数据模型 Mysql 未正确处理 Mysql 枚举

Django rest 框架 ModelSerializer 运行太慢

c# - 将 C# 中的变量数据绑定(bind)到 WPF 应用程序中的文本 block 不起作用

c# - 窗口 ResizeMode 绑定(bind)到设置

c# - 使用 Lambda 表达式从字段名称中选择不同的字段