我在 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 行的数据表,另一个dtFileRowForNode
只有 12 行。
现在我要循环这个查询 200 次,完成 for 循环大约需要 6-7 秒。为什么这么小的数据集要花这么多时间。
我应该用不同的方式写这个吗?