[firebase-br] otimizador de consultas do firebird

Maglan Cristiano Diemer maglan em univates.br
Qui Nov 18 18:30:51 -03 2004


Pessoal,

Suponha duas tabelas relacionadas.

create table PESSOAS {
   codigopessoa integer not null, (chave primaria)
   nome varchar(100),
   codigocidade integer (chave estrangeira)
}

create table CIDADES {
   codigocidade integer not null, (chave primaria)
   nome varchar(100)
}


Eu quero saber se o Interbase interpreta
os seguintes selects da mesma forma

1)
select *
from pessoas, cidades
where pessoas.codigocidade = cidades.codigocidade
and cidades.codigocidade = 10

2)
select *
from pessoas, cidades
where pessoas.codigocidade = 10
and cidades.codigocidade = 10


Esse é um exemplo pequeno. Mas voces entenderam, né?
Li no livro sobre otimizacoes em bancos SQL, que o
segundo select (apesar de trazer o mesmo resultado
do primeiro) é bem mais rapido do que o primeiro.

Penso que o otimizador do banco poderia cuidar disso, não ?

Ou voces ainda poderiam mostrar outra alternativa que
seja mais rapida ainda ?

O que voces tem a dizer sobre isso ?

Maglan





Mais detalhes sobre a lista de discussão lista