LINQ查詢性能提高考慮到樣品臺與不同
Col 1, Col2, Col3
1 , x , G
1 , y , H
2 , z , J
2 , a , K
2 , a , K
3 , b , E
我想下面的結果,即不同的行
1 , x , G
1 , y , H
2 , z , J
2 , a , K
3 , b , E
我試圖
var Result = Context.Table.Select(C =>
new {
Col1 = C.Col1,
Col2 = C.Col2,
Col3 = C.Col3
}).Distinct();
和
Context.Table.GroupBy(x=>new {x.Col1,x.Col2,x.Col3}).Select(x=>x.First()).ToList();
結果如預期的那樣,但是我的表格有35列和100萬條記錄,其大小將持續增長,查詢的當前時間爲22-30秒,因此如何提高性能並將其降低到2-3秒?
也許有它實現IEquatable自定義結構類型的HashSet的。比較IEquatable實現中變化最大的屬性。 –