IBDataSet muito lento...
OI pessoal, estou com um probleminha.
Estou tendo que dar manutenção num sistema que não foi agente quem fez e por isso estou apanhando um poko. Pra começar, estou com um problema de lentidão que não consigo resolver.
Numa rotina bem simples, o sistema faz um loop com os itens do pedido aberto e vai incluindo item a item em uma outra tabela de movimentação.
Essa tabela (MOVIMENTACAO) é um componente IBDataSet, (componente este que eu nunca usei).
A rotina funciona perfeitamente só que no momento de dar o ´.post´ em MOVIMENTACAO, ele fica MUITO lento. Chega a demorar cerca de 3 minutos pra gravar. Uma coisa interessante é que acontece sempre apenas com o primeiro item do pedido. Já testei com vários e é sempre com o primeiro que acontece isso.
Eu não conheço ´as manhas´ do IBDataSet e não estou conseguindo entender o que está havendo. Eu usei a mesma instrução que está programada no Insert do IBDataSet pelo IBExpert e ele incluiu rapidinho e s/ problemas, por isso sei que o problema não está no banco. Eu acho que está no uso do componente.
Já tentei mudar o valor da propriedade BUFFERCHUNKS e tb. não adiantou...
Será que alguém poderia me ajudar por favor?
Grata,
Estou tendo que dar manutenção num sistema que não foi agente quem fez e por isso estou apanhando um poko. Pra começar, estou com um problema de lentidão que não consigo resolver.
Numa rotina bem simples, o sistema faz um loop com os itens do pedido aberto e vai incluindo item a item em uma outra tabela de movimentação.
Essa tabela (MOVIMENTACAO) é um componente IBDataSet, (componente este que eu nunca usei).
A rotina funciona perfeitamente só que no momento de dar o ´.post´ em MOVIMENTACAO, ele fica MUITO lento. Chega a demorar cerca de 3 minutos pra gravar. Uma coisa interessante é que acontece sempre apenas com o primeiro item do pedido. Já testei com vários e é sempre com o primeiro que acontece isso.
Eu não conheço ´as manhas´ do IBDataSet e não estou conseguindo entender o que está havendo. Eu usei a mesma instrução que está programada no Insert do IBDataSet pelo IBExpert e ele incluiu rapidinho e s/ problemas, por isso sei que o problema não está no banco. Eu acho que está no uso do componente.
Já tentei mudar o valor da propriedade BUFFERCHUNKS e tb. não adiantou...
Será que alguém poderia me ajudar por favor?
Grata,
Renata
Curtidas 0
Respostas
Afarias
29/01/2004
um INSERT é muito rápido
vc deve estar atento a 2 coisas::
1- outras rotinas executadas pelo sistema (eventos no DataSet ou DataSource por exemplo) quando do Post no seu DataSet
2- triggers na tabela onde está sendo realizado o Insert
T+
vc deve estar atento a 2 coisas::
1- outras rotinas executadas pelo sistema (eventos no DataSet ou DataSource por exemplo) quando do Post no seu DataSet
2- triggers na tabela onde está sendo realizado o Insert
T+
GOSTEI 0