我需要編寫一個查詢,從用戶爲任何給定數據集定義的列中提取不同的值。可能有數百萬行,因此這些語句必須儘可能高效。以下是我的代碼。LINQ c#效率
此LINQ查詢的順序是什麼?有沒有更有效的方法來做到這一點?
var MyValues = from r in MyDataTable.AsEnumerable()
orderby r.Field<double>(_varName)
select r.Field<double>(_varName);
IEnumerable result= MyValues.Distinct();
,以確定最好的方法是在SQL事件探查器運行時運行LINQ查詢。您可以看到實際的SQL查詢,並基於此生成SSMS中的執行計劃。 – Codeman
「LINQ查詢的順序」是什麼意思?您是否想知道執行語句的順序? –
@ Pheonixblade9:實際上,通過調用'AsEnumerable()',SQL腳本是非常基本的。 'orderby'和'select'都在本地運行。 – Guvante