gss200610 Postado 22 Janeiro, 2016 Postado 22 Janeiro, 2016 ola a todos. tenho a seguinte situacao: uma tabela de nota fiscal e outra de itens da nota fiscal. um simples master detail ao editar ou inserir um item na detail e clicar em cancelar( dbnavigator ou via query.cancel ) dar um delay de 2 a 3 segundos so pra executar o cancel. sendo q a tabela de itens tem apenas 5 registros alguem ja passou por isso, sabe com contornar, ja tentei de tudo quando forma as dicas da embarcadero. ate me desfiz do lookup pra melhorar, criei um projeto a parte do zero so pra testar. se alguem tiver usando dblookup campo virtual na query com firedac e puder dar umas dicas. ou voces costumam usar o campo FK + DESCRICAO DO FK tipo: COD_CLIENTE , NOME_CLI ENTE NAS TABELAS E NAO FAZEM JOIN?
Consultores EMBarbosa Postado 23 Janeiro, 2016 Consultores Postado 23 Janeiro, 2016 Você precisa debugar e analisar onde o tempo está sendo gasto exatamente no código. Pode usar algum profiler, por exemplo. []'s Elton Profissionalize o ACBr na sua empresa, conheça o ACBr Pro. (15) 2105-0750 (15)99790-2976. Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas. Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
gss200610 Postado 24 Janeiro, 2016 Autor Postado 24 Janeiro, 2016 ja debuguei e fiz inumeros testes e cheguei a conclusao: 1 - com CACHED UPDATES - funciona muito bom 2 - modo normal um simples edit e depois cancel na tabela( delay de 2 a 3 segundos so pra cancelar a edicao ) 3 - testei com UNIDAC - nao precisei configurar nada, 10X mais rapido que o FIREDAC. mais nao convem fazer update da aplicacao toda.
Membros Pro lsisistemas Postado 10 Fevereiro, 2016 Membros Pro Postado 10 Fevereiro, 2016 Caro colega uma pergunta boba a sua tabela tem muitos registros? se sim existe índices nos campos que mais usado em join e em pesquisas? Sérgio Guedes LSI Sistemas
gss200610 Postado 12 Fevereiro, 2016 Autor Postado 12 Fevereiro, 2016 (editado) sim todas indexadas, tabela master com 21 mil registros.ja resolvir passei para UNIDAC( 10 X mais rapido que firedac ). nem tudo nativo sao mil maravilhas. o unidac em termos fetch é muito mais poderoso que o firedac. Editado 12 Fevereiro, 2016 por gss200610 2
Moderadores hleorj Postado 12 Fevereiro, 2016 Moderadores Postado 12 Fevereiro, 2016 Monte as Tabelas assim : CREATE TABLE NOTA ( iCHAVENOTAFISCAL BIGINT NOT NULL, iSERIE INTEGER NOT NULL, iNNOTA BIGINT NOT NULL, iCODIGODOCLIENTE BIGINT NOT NULL ); /******************************************************************************/ /*** Primary Keys ***/ /******************************************************************************/ ALTER TABLE NOTA ADD CONSTRAINT PK_NOTA PRIMARY KEY (iCHAVENOTAFISCAL); /******************************************************************************/ /*** Indices ***/ /******************************************************************************/ CREATE INDEX NOTA_IDX1 ON NOTA (iSERIE, iNOTA); CREATE TABLE NOTA_IT ( iREGISTRO BIGINT NOT NULL, iCHAVENOTAFISCAL BIGINT NOT NULL, sXPROD varchar(50), sUNIDADE varchar(10) ); /******************************************************************************/ /*** Primary Keys ***/ /******************************************************************************/ ALTER TABLE NOTA_IT ADD CONSTRAINT PK_NOTA_IT PRIMARY KEY (iREGISTRO); /******************************************************************************/ /*** Indices ***/ /******************************************************************************/ CREATE INDEX NOTA_IT_IDX1 ON NOTA_IT (iCHAVENOTAFISCAL,iREGISTRO); Obs : iChavenotafiscal -> Autoincremento na tabela nota. iRegistro -> Autoincremento na tabela nota_it. O select de Nota : select * from nota order by iserie , inota O Select de Nota_it : select * from nota_it order by iChavenotaFiscal , iRegistro A ligação master detail será: Nota.iChavenotafiscal --> Nota_it.iChavenotafiscal. Estude bastante .. o meu exemplo , pois existente grandes pegadinhas para estudar . Henrique LeonardoAjude o Projeto ACBr crescer - Assine o SAC Tecnólogo em processamento de dados E-mail [email protected] - Skype : hleorj
gss200610 Postado 16 Fevereiro, 2016 Autor Postado 16 Fevereiro, 2016 agradeço sua dica. mais isso ja faço, uso firebird a anos, o meu problema não é em logica e sim componente mesmo. o mesmo teste feito com IBO , UNIDAC se sairam muito melhores que o firedac.
Moderadores hleorj Postado 16 Fevereiro, 2016 Moderadores Postado 16 Fevereiro, 2016 ok. e se fizer para : O Select de Nota_it : select * from nota_it where iChavenotaFiscal = :iChavenotaFiscal order by iChavenotaFiscal , iRegistro ainda ficar ruim ? Henrique LeonardoAjude o Projeto ACBr crescer - Assine o SAC Tecnólogo em processamento de dados E-mail [email protected] - Skype : hleorj
Membros Pro Rodrigo Cardilo Postado 27 Março, 2019 Membros Pro Postado 27 Março, 2019 Em 16/02/2016 at 16:40, gss200610 disse: agradeço sua dica. mais isso ja faço, uso firebird a anos, o meu problema não é em logica e sim componente mesmo. o mesmo teste feito com IBO , UNIDAC se sairam muito melhores que o firedac. Oi amigo, Qual versão do Unidac você está utilizando. Estou com o mesmo problema. Grato Rodrigo Cardilo Card System Info [email protected]
gss200610 Postado 28 Março, 2019 Autor Postado 28 Março, 2019 23 horas atrás, Rodrigo Cardilo disse: Oi amigo, Qual versão do Unidac você está utilizando. Estou com o mesmo problema. Grato 7.4.11
Antonio Gomes Postado Terça as 13:27 Postado Terça as 13:27 Em 02/04/2016 at 11:12, gss200610 disse: ja resolvir, tirei o firedac. fala comigo, rodando até hoje com unidac?
Recommended Posts
Crie uma conta ou entre para comentar
Você precisar ser um membro para fazer um comentário
Criar uma conta
Crie uma nova conta em nossa comunidade. É fácil!
Crie uma nova contaEntrar
Já tem uma conta? Faça o login.
Entrar Agora