PMSF Posted October 9, 2013 at 05:34 PM Report #528232 Posted October 9, 2013 at 05:34 PM boa tarde, vou explicar de uma forma genérica e assim que possivel coloco os comandos. tenho uma aplicação lê um ficheiro .txt com dados, faz-lhe o respetivo tratamento e mostra os resultados numa datagridview. os dados processados são então gravados numa base de dados para consulta e referencia. é neste processo que noto, quando faço testes com apenas 50 linhas, que o tempo de gravação do conjunto fica cada vez mais lento. ex: 1ª gravação - 218.7836 milisegundos 2ª gravação - 562.5936 milisegundos 3ª gravação - 843.8904 milisegundos e só volta a baixar o tempo após reiniciar a aplicação. podem dar-me ideias de como manter o processo sempre com um tempo identico?! obrigado
He B TeMy Posted October 9, 2013 at 11:01 PM Report #528290 Posted October 9, 2013 at 11:01 PM boa tarde, vou explicar de uma forma genérica e assim que possivel coloco os comandos. tenho uma aplicação lê um ficheiro .txt com dados, faz-lhe o respetivo tratamento e mostra os resultados numa datagridview. os dados processados são então gravados numa base de dados para consulta e referencia. é neste processo que noto, quando faço testes com apenas 50 linhas, que o tempo de gravação do conjunto fica cada vez mais lento. ex: 1ª gravação - 218.7836 milisegundos 2ª gravação - 562.5936 milisegundos 3ª gravação - 843.8904 milisegundos e só volta a baixar o tempo após reiniciar a aplicação. podem dar-me ideias de como manter o processo sempre com um tempo identico?! obrigado Isso depende do código como esteja a ler, é sempre a mesma tabela? Tens a certeza que o que está a ler, não é a soma de tudo ? (O tempo deles todos, tipo o 2º esses milisegundos que estão aí serem a soma do 1º + 2º?) Mas mesmo assim, se não for uma base de dados extensa, esses milisegundos não é muita coisa, ou isso é sempre nessa escala? É que se for é estranho... com uns 50 dados ficava-te 20s não ? lol
PMSF Posted October 10, 2013 at 10:44 AM Author Report #528317 Posted October 10, 2013 at 10:44 AM ok... o intervalo de tempo que estou a medir corresponde ao seguinte loop... para as 50 linhas For CadaLinha = 1 To QuantasLinhas - 2 'gravar linha na base de dados strSql = "insert into tLista (Campos) values ("valores")" If ExecutaComando(strSql) > 0 Then Else MsgBox("Não foi possível Inserir o registo") End If Next na 1ª vez que corre este loop, para o mesmo numero de dados, demora 218.7836 milisegundos, na 2ª - 562.5936 e continua a aumentar até reiniciar a aplicação. o problema é que é um teste, em situações reais, são de 8000 a 12000 linhas, e estou a tentar diminuir o tempo do prosseço. e entre tratamentos de dados estar a sair e voltar entrar na aplicação torna-se chato, mas necessário para que o tempo de gravação não duplique 😞 pensei se terei que limpar a memória em uso ou outra solução, mas os meus conhecimentos são pouquinhos e não consigo resolver
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now