데이터베이스에 DataTable 일괄 삽입 최적화
데이터베이스에 많은 양의 데이터를 삽입할 때 행 단위 삽입은 비효율적입니다. 일괄 삽입 기술을 사용하면 성능이 크게 향상될 수 있습니다.
SqlBulkCopy는 효율적인 데이터 삽입을 구현합니다
SQL Server 데이터베이스의 경우 SqlBulkCopy 클래스는 단일 작업으로 데이터베이스에 DataTable을 삽입하는 효율적인 방법을 제공합니다. 이 방법은 행 단위 삽입을 방지하고 처리 시간을 크게 단축합니다.
코드 예시
다음 코드는 SqlBulkCopy를 사용하는 방법을 보여줍니다.
<code class="language-csharp">using (var bulkCopy = new SqlBulkCopy(_connection.ConnectionString, SqlBulkCopyOptions.KeepIdentity)) { // 将DataTable列映射到SQL表列 foreach (DataColumn col in table.Columns) { bulkCopy.ColumnMappings.Add(col.ColumnName, col.ColumnName); } // 设置目标表名 bulkCopy.DestinationTableName = destinationTableName; // 设置超时时间(可选) bulkCopy.BulkCopyTimeout = 600; // 将DataTable插入数据库 bulkCopy.WriteToServer(table); }</code>
사용자 정의 매핑(선택 사항)
DataTable 열 이름이 SQL 테이블 열 이름과 일치하지 않는 경우 SqlBulkCopy의 ColumnMappings 속성을 사용하여 수동으로 매핑할 수 있습니다.
위 내용은 SQL Server 데이터베이스에 DataTable을 효율적으로 삽입하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!