[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