TRAVA DURANTE PREENCHIMENTO DE GRID
Galera mais uma duvida aqui
tenho uma tela de consulta onde o sistema pode retornar 75 000 linhas do banco, e enquanto ele preenche a grid o sistema fica travado de 10 a 20 segundos, alguem pode dar alguma dica para melhorar esse processo?
pensei em usar thread sera que melhora?
tenho uma tela de consulta onde o sistema pode retornar 75 000 linhas do banco, e enquanto ele preenche a grid o sistema fica travado de 10 a 20 segundos, alguem pode dar alguma dica para melhorar esse processo?
pensei em usar thread sera que melhora?
Acho que uma solução simples seria utilizar paginação.
Você também pode limitar a quantidade de registros na query, não sei se isto é viável para o seu caso, mais melhora bastante o desempenho.
O uso de thread não irá melhorar muito, o que pode ocorrer neste meio tempo é que a tela é apresentada mais a grid não é preenchida.
Como você está preenchendo sua grid, via dataTable, dataSet ou através de um List<T>?
Você também pode limitar a quantidade de registros na query, não sei se isto é viável para o seu caso, mais melhora bastante o desempenho.
O uso de thread não irá melhorar muito, o que pode ocorrer neste meio tempo é que a tela é apresentada mais a grid não é preenchida.
Como você está preenchendo sua grid, via dataTable, dataSet ou através de um List<T>?
Vc quer melhorar o quesito performance ou visualização ?
Se for Performance, a solução do GUIMORAES123 é uma boa.
Se for Visualização, eu colocaria uma barra de progresso em conjunto com uma thread, de 20 segundos vai passar + ou - para uns 30 a 35, mas informa o usuario sobre o processo e libera o sistema.
Se for Performance, a solução do GUIMORAES123 é uma boa.
Se for Visualização, eu colocaria uma barra de progresso em conjunto com uma thread, de 20 segundos vai passar + ou - para uns 30 a 35, mas informa o usuario sobre o processo e libera o sistema.
O que eu quero é não deixar o usuario esperando a tela ficar disponivel, porque esta assim, o usuario clica para abrir a tela de pesquisa de contas a receber ai no evento show do formulario eu preencho a lista e ai a tela fica sem responder todo esse tempo
preencho a grid com um List<T>
Gosto do List<t>, mas as vezes com muitos registros sinto um gargalo no mesmo.
Acho que no framework 4.0 está mais ágil, porem não sei qual framework está usando.
Sugiro que faça um teste com o DataTable para verificar se terá mais desempenho.
Agora vem outra questão, você tem mesmo a necessidade de carregar 75000 linhas?
Acho que no framework 4.0 está mais ágil, porem não sei qual framework está usando.
Sugiro que faça um teste com o DataTable para verificar se terá mais desempenho.
Agora vem outra questão, você tem mesmo a necessidade de carregar 75000 linhas?
Caramba, Contas a receber 75.000 linhas, que maravilha, rsrsrs
GUIMORAES123, NILSONTRES, são 75.000 linhas ao total, somando as que ja forão pagas, as em aberto são 36.000 +-.
fiz a consulta no proprio db e quase não houve diferença no tempo de resposta.
tudo depende dos filtros que o usuario usar, se acaso não usar nenhum filtro, então o sistema tem que retornar todos os registros mesmo.
acho não vou chamar a consulta no show do form, assim pelomenos a primeira tela fica pronta para o usuario
e vou colocar um panel com alguma informação tipo [Ô]Aguarde...[Ô], durante o tempo que a tela esta sendo preenchida, deve disfarçar um pouco... kkk
Citação:Sugiro que faça um teste com o DataTable para verificar se terá mais desempenho.
fiz a consulta no proprio db e quase não houve diferença no tempo de resposta.
Citação:Agora vem outra questão, você tem mesmo a necessidade de carregar 75000 linhas?
tudo depende dos filtros que o usuario usar, se acaso não usar nenhum filtro, então o sistema tem que retornar todos os registros mesmo.
acho não vou chamar a consulta no show do form, assim pelomenos a primeira tela fica pronta para o usuario
e vou colocar um panel com alguma informação tipo [Ô]Aguarde...[Ô], durante o tempo que a tela esta sendo preenchida, deve disfarçar um pouco... kkk
Tópico encerrado , respostas não são mais permitidas