gpt4 book ai didi

sql - 关于 LINQ 最高性能方法的思考

转载 作者:行者123 更新时间:2023-12-05 01:25:57 25 4
gpt4 key购买 nike

我有一个表,总共有 350448 条记录,我需要通过 LINQ with Entity Framework 对其执行多个重复查询。

这些重复查询的数量大约是1440,我无法修改数据库。

在性能方面最好的方法是什么:

  • 全选350448条记录,在客户端查询
  • 对数据库执行 1440 查询
  • 首先尝试缩小数据范围,然后在客户端执行查询

我基本上需要能够查找 1440 个项目,但我知道可能存在性能问题。

最佳答案

听起来你可能能够逃脱:

List<DateTime> dates = ...;
var query = context.MyEntities
.Where(x => dates.Contains(x.LastUpdated))
.ToList();

但是:

  • 我不确定 确定 EF 是否以与 LINQ to SQL 相同的方式支持 Contains
  • 您可能需要将查询分成几批;这取决于 EF 是否足够智能以使用表值参数(以及您的数据库是否支持它)。

关于sql - 关于 LINQ 最高性能方法的思考,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9501197/

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