2008-11-14 5 views
1

곧 막 시작되는 .NET의 병렬 확장에서 마지막으로 Channel 9 vid을 보았습니다. 웹 앱에서 어떻게 사용하나요? 나는 특별히 SQL DB에 대해 병렬 Linq 확장을 사용하려고 생각하고있다. 다중 사용자 서버 응용 프로그램에서 데이터 액세스 계층의 속도를 향상시키는 방법으로 사용하는 것이 합리적입니까? 정적 컬렉션 유형을 사용하는 명백한 스레드 안전 문제를 제외하고는 무엇이 문제입니까?웹 응용 프로그램의 병렬 LINQ?

답변

5

나는 this article에서 추출이 단락의 사용법을 설명 생각 PLINQ - 투 - SQL :

LINQ-SQL-및 LINQ - 투 - 엔티티 쿼리는 여전히 각각의 데이터베이스에 의해 실행되며, 쿼리 공급자이므로 PLINQ는 이러한 쿼리를 병렬화하는 방법을 제공하지 않습니다. 이기종 쿼리의 출력에 합류하는 등의 쿼리를 메모리에서 쿼리하려는 경우 PLINQ는 이 매우 유용 할 수 있습니다.

웹 응용 프로그램에서 PLINQ를 사용하는 경우 요청에 여러 메모리 내 계산이 필요하면 PLINQ가 유용 할 수 있습니다 (여러 개의 데이터 소스를 함께 쿼리하려는 경우처럼). 그것을 사용하는데 문제가없는 것을보십시오.

+0

링크를 제공해 주셔서 감사합니다! 말도 안되는거야 ... 아니면 어쩌면? ;) – Codewerks

4

병렬 LINQ는 기본적으로 메모리 내 수집에 대해 작동하도록 만들어졌습니다. 데이터베이스에 대해 어떻게 사용하고 있습니까?

webapps 자연스럽게 꽤 (별도의 스레드에서 실행되는 별도의 요청의 측면에서 등) 감안할 때 나는 PLINQ 정말 많이 적용되지 않습니다 용의자.

+0

내가 생각한 것 같아. PLINQ에 대해 흥분을 감추지 못했습니다 ... – Codewerks

+0

각 요청 내에서 PLINQ는 훌륭한 성능 향상과 함께 완벽하게 적용됩니다. –

+0

@mausch : 정기적으로 하나의 요청 만 처리되고 각 요청에 많은 CPU가 필요한 경우 적절합니다. 나는 그것이 대부분의 웹 애플리케이션과 관련이 있는지 의심 스럽다. 그리고 질문에 언급 된 바와 같이 "SQL DB"와는 다르다. –