Pergunta

Eu tenho um aplicativo .NET que é a fusão de duas datatables com um monte de linhas (10.000). Há uma boa chance de ter um grande número de atualização / inserções para executar a tabela de SQL ao usar o comando DataAdapter.Update.

Agora, tenho o adaptador UpdateBatchSize conjunto de propriedades para 200. VS adverte contra a fixação de um valor muito alto, pois pode diminuir o desempenho. Ok, apanhado.

Em termos de desempenho, o que devo procurar quando a definição dessa propriedade? Não importa o que, atualizando lotes de linhas vai ter um monte de tempo. Executá-lo na minha máquina (ou no servidor de DB) não -seem- levar muito tempo, mas tenho certeza de quando o sistema é carregado fazendo outros itens, isso pode ser um problema.

Existe algo que eu possa procurar no Profiler? Fazer um perfil padrão, a duração é normalmente 0. Às vezes é sucessos 1 ou 2 (talvez 20 vezes no total) e fora de cerca de 20.000 atualizações, 3-4 bater 20. CPU está em 0, exceto para a um casal que atingiu 1-2 . Existem 2 registros que vão até cerca de 10. Lê estão sempre 2 e gravações são sempre 0.

Foi útil?

Solução

A primeira coisa é que eu ia fazer isso configurável configuração para que você possa testar vários valores sem compilar. A próxima coisa é assistir a duração de todo o seu lote. Se o seu feliz com o desempenho não mudá-lo. Se o seu descontente com a tentativa desempenho e aumentar ou diminuir a definição para ver como ele se comporta.

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