Por que as inserções do servidor SQL são tão lentas?
Eu estou tentando inserir linhas de dados na memória em uma tabela no SQL Server Express 2005. Ele está executando o que parece-me muito lentamente - cerca de 5 segundos por 1000 linhas inseridas. Eu estou apenas usando um comando básico "INSERT INTO". A lentidão não depende dos dados da tabela - ela ainda é lenta com uma tabela com uma coluna int e nenhum índice. Não tem nada a ver com o meu software - ele é tão lento quanto o SQL em um loop do Management Studio. Não há mais nada acessando o banco de dados ao mesmo tempo. Em um 3Ghz Xeon (antigo eu sei), isso levará cerca de 10 segundos para executar:
declare @i int
set @i = 0
set nocount on
while @i < 2000
begin
insert into testdb(testcolumn)
values (1)
set @i = @i + 1
end
Existe uma maneira melhor de inserir dados em memória em massa do que o loop em INSERT? Ou alguma configuração que eu deveria mudar no SQL Server?