Fórum Otimizar Consulta (Select) no Firebird #56022

23/05/2006

0

Pessoal,

estou com um select no firebird que pesquisa dados de várias tabelas (enderecos do correio) de acordo com o cep digitado. A tabela tem mais de 650000 resgistros. Só que o select está demorando quase 1 minuto numa máquina pentium 233 mmx. Gostaria de saber se meu select está legal ou tem como otimizar para dar um retorno mais rápido.

Aguardo ajuda.

Alexandre.


Segue o select:

select endereco.endereco_codigo,endereco.endereco_cep, endereco.endereco_logradouro,
bairro.bairro_codigo, bairro.bairro_descricao, cidade.cidade_codigo, cidade.cidade_descricao,
uf.uf_codigo, uf.uf_descricao from endereco, bairro, cidade, uf where
endereco.bairro_codigo=bairro.bairro_codigo and bairro.cidade_codigo=cidade.cidade_codigo and
cidade.uf_codigo=uf.uf_codigo and endereco.endereco_cep=´24440350´;


Alexandregois

Alexandregois

Responder

Posts

23/05/2006

Gandalf.nho

Tem índice no campo CEP?


Responder

Gostei + 0

23/05/2006

Alexandregois

está indexado sim, o campo CEP.

Alexandre.


Responder

Gostei + 0

23/05/2006

Thomaz_prg

Alexandre, verifique a existência de alguns índices:

Tabela: endereço
1. endereco_cep
2. bairro_codigo

Tabela: bairro
1. bairro_codigo
2. cidade_codigo

Tabela: cidade
1. cidade_codigo
2. uf_codigo

Tabela: uf
1. uf_codigo

Se algum (ou alguns) destes índices não existir, crie-os e veja se melhora a performance. Outra coisa, qual sistema operacional você tá usando? Pois se for Win XP (ou 2003), e a extensão do arquivo do banco for GDB, o windows o coloca no System Restore, deixando mais lento o acesso ao arquivo.


Responder

Gostei + 0

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

Aceitar