Sql insere o desempenho da consulta

Eu quero inserir n registros em uma única tabela. Pode haver muitos usuários simultâneos e eles podem inserir / atualizar / selecionar dados dessa tabela. Qual é a melhor maneira de inserir em uma tabela, digamos 1000 registros:

Envie uma única consulta sql para um banco de dados com várias inserções. Isso salva o servidor em chamadas de banco de dados, mas (não tenho certeza) bloqueia a tabela até que a inserção seja concluída e todas as outras consultas a essa tabela aguardem.Divida 1000 registros em alguns trechos e envie-os em várias consultas sql. Isso permite que as outras consultas sejam executadas na tabela, mas gasta tempo no servidor para chamadas de banco de dados.

Isso depende de algo, ou existe um único caminho que é sempre o ideal? Isso depende se as transações são usadas ou não, ao inserir dados? Existem outras maneiras melhores de realizar uma inserção desse tipo?

O banco de dados que eu uso é MS SQL, mas é interessante como funciona em outro banco de dados como o Oracle.

questionAnswers(4)

yourAnswerToTheQuestion