[firebase-br] Execution Plan

Giovani Marinho giovanimd em yahoo.com
Qui Jun 30 08:49:43 -03 2005


Caros,

Tenho percebido, enquanto desenvolvendo sistemas em
IB/FB que em muitas oportunidades o plano de execução
selecionado pelo banco de dados na otimização não é,
efetivamente, o que melhor executa a query. 

Para dizer isto, tomo por base algo que percebi ao
longo dos anos que venho desenvolvendo sistemas para
vários bancos de dados (mas que não sei se é a real
expressão da verdade) que os melhores indices para uma
consulta são aqueles que auxiliam na filtragem dos
dados, e em segundo lugar os que auxiliam na ordenação
do result set. 

Naturalmente, cada coisa tem seu peso. Porém, dado que
todos aprendemos, a duras penas, que na maioria das
vezes um result set pequeno, com poucos registros é
excelente para a performance, entendo que os filtros
para restrição de dados (clausula WHERE, INNER JOIN,
OUTER JOIN, etc.) são os que mais impactam na
velocidade da execução da consulta.

Gostaria de saber se há algum artigo um pouco mais
detalhado e completo a respeito do assunto, assim como
saber onde posso obter informações sobre como definir
o plano de execução para consultas mais complexas do
que simples JOINs entre duas tabelas, considerando
JOINs de diferentes tipos, ordenação, agrupamento,
HAVING, entre outras cláusulas.

Obrigado!



__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 




Mais detalhes sobre a lista de discussão lista