하루에 1 백만 개의 레코드가 삽입되었습니다. 내 프런트 엔드는 C# 4.0이고 백엔드는 MS SQL Server 2008 R2입니다.LINQ to SQL vs. Enterprise Library
최상의 성능을 얻기 위해 어떤 방법을 사용해야합니까? LINQ To SQL 또는 Enterprise Library 5.0 또는 다른 것을 사용해야합니까?
하루에 1 백만 개의 레코드가 삽입되었습니다. 내 프런트 엔드는 C# 4.0이고 백엔드는 MS SQL Server 2008 R2입니다.LINQ to SQL vs. Enterprise Library
최상의 성능을 얻기 위해 어떤 방법을 사용해야합니까? LINQ To SQL 또는 Enterprise Library 5.0 또는 다른 것을 사용해야합니까?
데이터베이스에 많은 행을 삽입하려는 경우 SQL Server Bulk Insert 사용을 고려해야합니다. 이러한 종류의 하중을 처리하도록 설계되었습니다. Linq가 SQL을 좋아하지만, 이런 종류의로드를 너무 잘 처리하지는 못합니다.
한번에 한 번에 백만 개, 한 번에 한 번만 기록 할 수 있습니까?
일괄 처리를 찾으려면 이러한 종류의 볼륨이있는 Linq2sql을 잊어 버릴 수 있습니다. SqlBulkCopy 클래스를 살펴보십시오. 즉, magnitues가 빠릅니다.
하이브리드 솔루션을 선택할 수 있습니다. 배치에 SqlBulkCopy를 사용하고 단일 엔터티 (또는 작은 배치)에 대한 쿼리 및 CRUD 작업에 linq2sql을 사용할 수 있습니다.
그것은 한 번에 하나의 레코드 만 골고루 분산되어 있습니다. 저는 여전히 Linq2sql로 관리 할 것입니다.
나는 일괄 작업을 수행하는 방법에 대해 다른 사람과 동의하지만 LINQ를 SQL에 제안하지는 않습니다. 대신 Entity Framework를 사용하십시오. 훨씬 더 유연합니다.
@ 나는 또한 모든 사람에게 SqlBulkCopy를 제안합니다. –