我有一个包含大约 50,000 行的 DataTable,我用它DataTable.Select来检索行。需要Select多个AND条件,包括通配符匹配。我尝试了一下,发现通过Select在多个步骤中执行相同的操作,可以大大减少执行时间,但更改语句的顺序AND不会影响它。
//This takes ~ 750 ms
DataRow[] results = myDataTable.Select("Field1 LIKE '*" + term1 + "*'" +
"AND Field2 = '" + term2 + "'" +
"AND Field3 = '" + term3 + "'");
//This also takes ~750 ms
DataRow[] results2 = myDataTable.Select("Field3 = '" + term3 + "'" +
"AND Field2 = '" + term2 + "'" +
"AND Field1 LIKE '*" + term1 + "*'"); …Run Code Online (Sandbox Code Playgroud)