ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Lentidão na Abertura do Formulario de Cadastro

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
didu1981
Novato
Novato


Registrado: Segunda-Feira, 11 de Abril de 2011
Mensagens: 21

MensagemEnviada: Qua Fev 29, 2012 10:52 am    Assunto: Lentidão na Abertura do Formulario de Cadastro Responder com Citação

Olá Amigos preciso de ajuda. em relação ao cadastro do Nosso Sistema .. a situação é a seguinte
no nosso projeto..temos um cadastro de Funcionários que esta um pouco lento para abrir o formulario
debugando o codigo descobri que a lentidao ocorre quando o ClientDataSet do funcionario abre
esse CDSFuncionario esta ligada ao um dataModule ao DataSetProvider esse por sua vez esta
ligado a uma SQLquery .. com o select "SELECT * FROM FUNCIONARIO";

CDSFuncionario.Close;
CDSFuncionario.commandText := 'SELECT FIRST(1) * FROM FUNCIONARIO WHERE COGIOEMPRESA = ' aQUI.. O CODIGO DA EMPRESA LOGADA
CDSFuncionario.Open;

quando ele da o Open .. demora 5 segundos pra passar pelo Open.. isso com 400 funcionários ao
todo de empresas diferentes.. quando mudo de bando .. com 30 funcionarios ele abre muito rapido
o questionamento e o seguinte .. como posso melhorar a performace.. para que o cadastro demore
menos tempo para ser aberto.. ? desde ja gradeço
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
tanure
Profissional
Profissional


Registrado: Segunda-Feira, 7 de Novembro de 2011
Mensagens: 712

MensagemEnviada: Qua Fev 29, 2012 10:58 am    Assunto: Responder com Citação

uma dica é não inicializar o sistema com o active do CDSFuncionario
como true
passe o parâmetro em runtime, vc vai economizar na hora de abrir o arquivo
e agora pelo amor de deus
select * ????
isso tem que ser evitado a todo custo, vc realmente precisa de todas
as colunas da tabela????

diga não ao select * hehe

espero ter ajudado
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Caduzera
Profissional
Profissional


Registrado: Terça-Feira, 29 de Julho de 2008
Mensagens: 656

MensagemEnviada: Qua Fev 29, 2012 11:58 am    Assunto: Responder com Citação

Amigo, o ideal seria não abrir essa quantidade de informação numa simples abertura de tela ....

Afinal, pata que abrir 400 registros de uma vez na tela? Talvez o usuário só queria incluir um, ou alterar.

O ideal seria abrir a tela zerada e se montar uma pesquisa onde o usuário selecione quem desejar ...

Além do fato de estar com um select * puro ... sem where ....

Abs
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
imex
Moderador
Moderador


Registrado: Sexta-Feira, 7 de Janeiro de 2011
Mensagens: 11666

MensagemEnviada: Qua Fev 29, 2012 12:06 pm    Assunto: Responder com Citação

A tabela FUNCIONARIO possui um índice composto pelo campo CODIGOEMPRESA? Se não tiver experimente criar.

Espero que ajude.

_________________
Assinatura: Imobiliarias em Suzano
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB