0

하루에 1 백만 개의 레코드가 삽입되었습니다. 내 프런트 엔드는 C# 4.0이고 백엔드는 MS SQL Server 2008 R2입니다.LINQ to SQL vs. Enterprise Library

최상의 성능을 얻기 위해 어떤 방법을 사용해야합니까? LINQ To SQL 또는 Enterprise Library 5.0 또는 다른 것을 사용해야합니까?

+0

@ 나는 또한 모든 사람에게 SqlBulkCopy를 제안합니다. –

답변

1

데이터베이스에 많은 행을 삽입하려는 경우 SQL Server Bulk Insert 사용을 고려해야합니다. 이러한 종류의 하중을 처리하도록 설계되었습니다. Linq가 SQL을 좋아하지만, 이런 종류의로드를 너무 잘 처리하지는 못합니다.

1

한번에 한 번에 백만 개, 한 번에 한 번만 기록 할 수 있습니까?

일괄 처리를 찾으려면 이러한 종류의 볼륨이있는 Linq2sql을 잊어 버릴 수 있습니다. SqlBulkCopy 클래스를 살펴보십시오. 즉, magnitues가 빠릅니다.

하이브리드 솔루션을 선택할 수 있습니다. 배치에 SqlBulkCopy를 사용하고 단일 엔터티 (또는 작은 배치)에 대한 쿼리 및 CRUD 작업에 linq2sql을 사용할 수 있습니다.

그것은 한 번에 하나의 레코드 만 골고루 분산되어 있습니다. 저는 여전히 Linq2sql로 관리 할 것입니다.

1

나는 일괄 작업을 수행하는 방법에 대해 다른 사람과 동의하지만 LINQ를 SQL에 제안하지는 않습니다. 대신 Entity Framework를 사용하십시오. 훨씬 더 유연합니다.