J'ai un goulot d'étranglement au niveau des performances sur un DataView.Sort. Le code est ci-dessous.DataView.Sort est un goulot d'étranglement des performances
/// <summary>
/// Filters the data table and returns a new data table with only the filtered rows.
/// </summary>
/// <param name="dtInput">The dt input.</param>
/// <param name="filterExpression">The filter expression.</param>
/// <returns></returns>
protected virtual DataTable FilterDataTable(DataTable dtInput, string filterExpression)
{
DataTable result = dtInput;
if (!string.IsNullOrEmpty(filterExpression) && filterExpression.Trim().Length > 0)
{
DataView view = new DataView(dtInput);
view.RowFilter = filterExpression;
view.Sort = HierarchyFieldMap.DisplayedValue;
result = view.ToTable();
}
return result;
}
Une idée est sur la façon d'améliorer cette méthode?
L'exécution prend environ 1 seconde.
EDIT
J'ai trouvé ce lien sur DataView's Poor Peformance with Large RecordSets
Combien de lignes avez-vous? –
Cela dépend. 50 à 100k est possible. –