[firebase-br] Select lento

Jeferson Oliveira jefersonfoliveira em gmail.com
Qui Ago 10 10:17:11 -03 2006


Ao indicar um join com Left será realizada, para cada valor da tabela à
esquerda, uma pesquisa na tabela que está à direita e, portanto, somente à
tabela à direita precisa estar indexada.
Join, Inner join e Right join, fazem o oposto: para cada valor da
direita é feita uma
pesquisa na tabela à esquerda.

No caso da sentença do Pablo, as tabelas relacionadas possuem índices
para os campos "id_" o que agilizou a pequisa com Left.
Sem o Left, a pesquisa é feita na tabela ENDERECO. Como ela está
ordenada pelo campo NM_DESCRICAO_END, a pesquisa é lenta.

A relação tipo de join utilizado com a pesquisa feita pode ser mais
facilmente compreendida analisando o plano de execução da sentença.

A propósito, gostaria de sugerir aos colegas que sempre que postarem
questões relacionadas a lentidão de execução de sentenças, postem
também o plano de execução.


Abraço!
Jeferson Oliveira




Mais detalhes sobre a lista de discussão lista