Параллельный LINQ в WebApps?
-
08-07-2019 - |
Вопрос
Я только что смотрел последний > Channel 9 vid о будущих параллельных расширениях .NET. Как бы вы использовали это в веб-приложении? Я специально думаю об использовании параллельных расширений Linq против базы данных SQL. Имеет ли это смысл использовать для ускорения уровня доступа к данным в многопользовательском серверном приложении? Каковы проблемы (кроме очевидных проблем безопасности потоков при использовании статических типов коллекций)?
Решение
Мне кажется, что этот абзац, извлеченный из этой статьи , объясняет использование PLINQ к SQL:
LINQ-to-SQL и LINQ-to-Entities запросы будут по-прежнему выполняться соответствующие базы данных и запрос поставщики, поэтому PLINQ не предлагает способ распараллелить эти запросы. Если Вы хотите обработать результаты эти запросы в памяти, в том числе присоединяясь к выходу многих гетерогенные запросы, то PLINQ может быть весьма полезным.
Что касается использования PLINQ в веб-приложении, то если запрос требует много вычислений в памяти, ведь PLINQ может быть полезен (например, если у вас есть несколько источников данных, которые вы хотите запросить вместе), я не вижу проблем в использовании этого. Р>
Другие советы
Я считаю, что Parallel LINQ в первую очередь предназначен для работы с коллекциями в памяти. Как вы ожидали использовать его в своей базе данных?
Учитывая, что веб-приложения, естественно, довольно параллельны (с точки зрения отдельных запросов, выполняемых в отдельных потоках и т. д.), я подозреваю, что PLINQ на самом деле к нему не относится.