Fórum Busca de dados lenta com banco Interbase. #45406

08/07/2004

0

Minha busca de dados na rede está lenta. Utilizo banco de dados Interbase 6.0 e Delphi7. Quando necessito localizar dados no banco, chamo uma SP passando parâmetros. Ex:
IF (:CHAVE4 = 1) THEN /*Localiza por nome ou Código*/
BEGIN
FOR
SELECT FILIAL, O, CODIGO, LOJA, NOME, TIPO, DESCTIPO, ENDERECO, COMPLEMENTO,
BAIRRO, CIDADE, ESTADO, CEP, PAIS, TELCOMERCIAL, RAMAL, TELRESIDENCIAL,
DATANASCIMENTO, FAX, CELULAR, DATAUNIAO, NOMECONJUGE, DATABATISMO,
DATAENTECM, VALABERTO, VALVENCIDO, OBSERVACOES, CELULA, DESCCEL,
LIDERCEL, FOTO, SX1, SEXO, TURMA, TURNO, NOMEPAI, NOMEMAE, STATUS,
DTPRICOM, DTULTCOM, IDADE, CONVENIO
FROM CLIENTE WHERE FILIAL = :CHAVE1 AND NOME LIKE :CHAVE2 OR CODIGO LIKE :CHAVE2 ORDER BY NOME
INTO :FILIAL, :O, :CODIGO, :LOJA, :NOME, :TIPO, :DESCTIPO, :ENDERECO, :COMPLEMENTO,
:BAIRRO, :CIDADE, :ESTADO, :CEP, :PAIS, :TELCOMERCIAL, :RAMAL, :TELRESIDENCIAL,
:DATANASCIMENTO, :FAX, :CELULAR, :DATAUNIAO, :NOMECONJUGE, :DATABATISMO,
:DATAENTECM, :VALABERTO, :VALVENCIDO, :OBSERVACOES, :CELULA, :DESCCEL,
:LIDERCEL, :FOTO, :SX1, :SEXO, :TURMA, :TURNO, :NOMEPAI, :NOMEMAE, :STATUS,
:DTPRICOM, :DTULTCOM, :IDADE, :CONVENIO
DO
SUSPEND;
END
A chamada da SP, está em SQL Select do objeto IBDataSet relacionado, no caso, ao cadastro de clientes. Quando tenho um banco local, na máquina que estou trabalhando, a busca é mais rápida, mas quando o banco está em um servidor na rede, esta busca torna-se lenta. O que posso melhorar nas configurações do banco e/ou rede.


Cfreitas

Cfreitas

Responder

Posts

09/07/2004

Afarias

quanto menos registros forem trazidos por este select, mais rápido seu desenpenho em rede -- ou seja, fique atento a seu ´filtro´

outro fator tb é o uso do LIKE que está impossibilitando o uso de índices na consulta, se puder, teria MUITO melhor desenpenho trocando o LIKE por STARTING WITH


T+


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar