简体   繁体   English

优化LINQ OrderByDescending查询

[英]Optimize a LINQ OrderByDescending query

I need to run a LINQ on a generic collection. 我需要在通用集合上运行LINQ。
The current query runs at a really slow pace... 当前查询的运行速度非常慢...

var patternsWithMaxLenArray = totalPatterns
    .Where
    (
        pattern => pattern.Contains(maxLen) &&
                   pattern.All(lenInPattern => curQuantities.Keys.Contains(lenInPattern)) &&
                   pattern.GroupBy(len => len).All(g => g.Count() <= curQuantities[g.Key])
    )
    .Select(pattern => new { pattern = pattern, sum = pattern.Sum() })
    .ToArray();

var patternsWithMaxLen = patternsWithMaxLenArray
    .OrderByDescending(patternsum => patternsum.sum)
    .Select(patternsum => patternsum.pattern);

var iq = patternsWithMaxLen.First();

Measure Measure Measure. 测量测量测量。 Strip everything out to the simplest query and measure it. 将所有内容剥离到最简单的查询并进行度量。 Then add in bits at a time until you find 'the hole.' 然后一次添加一些位,直到找到“洞”。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM