2013-06-28 4 views
-6

Мой запрос linq выполняется довольно быстро, но он выводит около 10K результатов, поэтому его цикл foreach занимает немного много времени, есть способ, которым я могу выполнять то же самое в меньшем время?Как ускорить выполнение цикла foreach в Linq

+3

Запустить его на более быстрый компьютер? – BNL

+0

Может быть, немного лучше кода –

+0

Возможно, цикл можно запустить параллельно. – adamse

ответ

2

Нет. Если вы выполняете операцию над каждой возвращенной записью, нет возможности ее сократить.

Ваш единственный вариант - либо ограничить количество элементов дальше, либо повысить эффективность операции, выполняемой внутри цикла foreach.

+0

или используя [PLINQ] (http://msdn.microsoft.com/en-us/library/dd460688.aspx) вместо LINQ. – Nolonar

+0

@Nolonar - это даже близко к гарантии. Если процесс isn ' t хорошо подходит для распараллеливания, PLINQ может быть довольно медленным. –

+0

Я согласен, я думаю, что могу использовать пейджинг, а затем извлекать только ограниченные записи. –