[firebase-br] otimizador de consultas do firebird
Josauro S.J.
josauro em casasoft.inf.br
Qui Nov 18 17:57:35 -03 2004
A primeira coisa é nunca faça join com essa sintaxe apesar dela funcionar é terminantemente desrecomendada é uma sintaxe do SQL-89, use JOIN para unir duas ou mais tabelas
select *
from cidades
LEFT JOIN pessoas
on (cidade.codigocidade = pessoas.codigocidade)
where cidades.codigocidade = 10
Josauro S.J.
Diretor
josauro em casasoft.inf.br
----- Original Message -----
From: Maglan Cristiano Diemer
To: FireBase
Sent: Thursday, November 18, 2004 6:30 PM
Subject: [firebase-br] otimizador de consultas do firebird
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
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
Para editar sua configuração na lista, use o endereço http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Mais detalhes sobre a lista de discussão lista