gpt4 book ai didi

c# - Group by 生成一个巨大的查询

转载 作者:行者123 更新时间:2023-11-30 21:54:26 25 4
gpt4 key购买 nike

我有以下 linq 查询,它会生成一个非常大的 SQL。

        var visits = _db.Visits.AsNoTracking().GroupBy(x => x.City)
.Select(group => new
{
City = group.Key.Code,
CityName = group.Key.Name,
Count = group.Count()
}).OrderByDescending(x => x.Count);

因为 Visits 表有很多列。但我只对访问表中的一列感兴趣,我将按该列进行分组。

所以这会影响性能并且查询很慢。

我怎样才能让它更快?

最佳答案

首先只选择您需要的数据,这样您使用的数据集就会变小。这应该会减少列的数量和查询的大小。

var visits = _db.Visits.AsNoTracking()
.Select(c=> new // reduce the initial data set
{
City= c.City,
Code = c.Code,
Name = c.Name
})
.GroupBy(x => x.City)
.Select(group => new // build results
{
City = group.Key.Code,
CityName = group.Key.Name,
Count = group.Count()
})
.OrderByDescending(x => x.Count);

关于c# - Group by 生成一个巨大的查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33110898/

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