Основная проблема заключается в том, что запрос к базе данных должен выполняться быстрее. Если у вас есть решение для этого, вы можете соответствующим образом скорректировать код.
Первое, на что я хотел бы обратить внимание - это оптимизировать индексы базы данных, чтобы повысить производительность вашего запроса. Если вы можете, используйте SQL Profiler и Index Tuning Wizard (я не думаю, что эти инструменты доступны в Express Edition SQL Server). Обратите внимание, что новые индексы также могут привести к ухудшению производительности со вставками, поэтому, если ваша база данных должна поддерживать высокий объем транзакций, вы должны быть осторожны в использовании этого подхода.
Если вы можете найти способ повысить эффективность своего запроса, разбив запрос на части и агрегируя результаты с процедурным кодом, тогда имеет смысл перейти на ObjectDataSource. Это позволит вам максимально использовать возможности получения данных.
В качестве отправной точки я бы прототип вашего запроса и/или частей вашего запроса в редакторе SQL, чтобы вы могли сосредоточиться только на оптимизации запросов, прежде чем принимать какие-либо решения о том, как изменится ваш код ASP.NET.
Я не могу подробнее прокомментировать, как оптимизировать извлечение данных, не глядя на особенности вашей схемы и запросы, которые вы используете. Но это должно заставить вас идти в правильном направлении.
1) насколько велики (строки и столбцы) - возвращаемый набор данных ?, и 2) показывают нам инструкцию SQL. – RBarryYoung
, если вы хотите использовать ** LINQ **, вы сможете легко вычислить код ** C# ** –
Я действительно не хочу публиковать SQL здесь, но попытаюсь изменить его так, чтобы его более общий ... он может иметь в зависимости от поиска до 10 000 строк, а его получить не менее 30 столбцов – user1186144