感谢您的光临。
我有一个类似这样的数据结构:
Flight # | Airport | Tickets Sold
----------------------------------
123 | SEA | 4
432 | SFO | 2
9875 | SEA | 1
33 | CLT | 3
实际上,我的桌子有大约20k的记录,我需要确定哪个机场的总票数最高。
我目前正在使用以下代码,但速度非常慢:
var mostTickets = flights.GroupBy(g => g.OriginAirport.IATA_Code)
.Select(s => new {s.Key, Sum = s.Sum(su => su.Tickets), Airport = s.Select(se => se.OriginAirport)})
.OrderByDescending(o => o.Sum).First();
我已经确定 GroupBy
调用非常快,但是从.Select
开始的所有内容都需要大约15秒才能完成约20,000条记录。
毕竟,GroupBy()
很慢。
有什么方法可以加快速度吗?