По моему мнению, вы можете повысить свою производительность, разделив проблемы.Под этим я подразумеваю, что лучше генерировать набор данных для отчета из вашего пользовательского класса, а не напрямую из БД.
Например, если я хочу, чтобы мой отчет отображался: год заказа - общее количество заказов- покупатель.Я создам класс, подобный
class CustomerStatistics
{
public int OrderYear {get;set;}
public int OrderQty {get;set;}
public string CustomerName {get;set;}
}
. Как только вы это сделаете, вы сможете использовать преимущества многопоточности.Например, я знаю, что вычисление OrderQty займет некоторое время, поэтому я поместил его в отдельную ветку.
Кроме того, вы можете повысить свою производительность, создав хранимые процедуры для некоторых сложных вычислений, в которых вам нужно пройти большой набор данных.Если это так, вы должны использовать операции набора, такие как INTERSECT, EXCEPT и т. Д.оптимизировать запросы.
Это были некоторые из моих мыслей.
Приветствия.