2 つのテーブルに対して LINQ で結合操作を実行していますが、小さなデータセットの実行にほとんどの時間がかかっています。以下はLINQクエリです
for (int i = 0; i <= 200; i++)
{
var test = from r1 in dtRowForNode.AsEnumerable()
join r2 in dtFileRowForNode.AsEnumerable()
on r1.Field<int>("Lng_Upload_Id") equals r2.Field<int>("Lng_Upload_Id")
where ((r1.Field<string>("Txt_Called_Number") == "999") || r1.Field<string>("Txt_Calling_Number") == "888")
select r2.Field<string>("Txt_File_Name");
string[] str = test.Distinct().ToArray();
}
ここdtRowForNode
では、約 7500 行の2 つのデータテーブルと、 dtFileRowForNode
12 行しかないデータテーブルがあります。
このクエリを 200 回ループします。for ループを完了するのに約 6 ~ 7 秒かかります。このような小さなデータセットに時間がかかるのはなぜですか。
これを別の方法で書く必要がありますか??