Pergunta

Tenho um aplicativo que estou escrevendo no acesso com um back -end do SQL Server. Uma das peças mais usadas é onde os usuários selecionam uma resposta para uma pergunta, um procedimento armazenado é disparado, que vê se uma resposta já foi dada, se tiver uma atualização, se não for executada.

Isso funciona muito bem, mas agora atualizamos para o SQL Server 2008 Express, eu queria saber se seria melhor/mais rápido/mais eficiente reescrever esse SP para usar o novo comando Merge.

Alguém tem alguma ideia se isso for mais rápido do que fazer uma seleção seguida por uma inserção ou atualização?

Foi útil?

Solução

Não vale o esforço. Possivelmente factível, mas não lhe dará nada perceptível.

A Merge está direcionando especialmente os data warehouses, onde descobrir o que inserir/atualizar é a parte complicada. Ele permite que todas as operações (inserir, atualizar) sejam feitas com um conjunto de fusão, em comparação com uma para cada condição. Isso não faz diferença real no seu caso.

Eu tenho um banco de dados em que estou carregando de 3 a 5 milhões de linhas em uma tabela de 300 milhões de linhas - mescla melhorar meu desempenho em 50% (uma varredura de tabela em vez de dois).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top