Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Desempenho de bcp/BULK INSERT vs. Parâmetros com valor de tabela


Ainda não tenho experiência com TVP, no entanto, há um bom gráfico de comparação de desempenho versus BULK INSERT no MSDN aqui .

Dizem que o BULK INSERT tem um custo inicial mais alto, mas é mais rápido depois disso. Em um cenário de cliente remoto, eles traçam a linha em torno de 1.000 linhas (para lógica de servidor "simples"). A julgar pela descrição deles, eu diria que você deve estar bem com o uso de TVPs. O impacto no desempenho - se houver - é provavelmente insignificante e os benefícios arquitetônicos parecem muito bons.

Editar:Em uma observação lateral, você pode evitar o arquivo local do servidor e ainda usar a cópia em massa usando o objeto SqlBulkCopy. Basta preencher um DataTable e alimentá-lo no método "WriteToServer" de uma instância SqlBulkCopy. Fácil de usar, e muito rápido.