[firebase-br] set plan???

Arlei Ferreira Farnetani Junior junior em farsoft.com.br
Sáb Ago 16 12:53:55 -03 2008


Douglas, valew pelas dicas...

Aconteceu uma coisa mto estranha aqui...
Só de eu desligar a maquina e reiniciar a mesma
a mesma consulta que levava 15s agora passou
a levar 2,5s...

Gostaria de saber como é q eu analiso
a seletividade que vc disse e como eu
faço para jogar no SQL o plan forçadamente (qual é a sintaxe).

"FK_ORCAMENTOS_7 é um índice em que campo? Qual a seletividade dele?"
é um indice para a tabela cfop_vinculo (is_cfopvinculo)...como vejo
a seletividade...


Valew!





----- Original Message ----- 
From: "Douglas Tosi" <douglasht em gmail.com>
To: "FireBase" <lista em firebase.com.br>
Sent: Saturday, August 16, 2008 12:29 PM
Subject: Re: [firebase-br] set plan???


2008/8/16 Arlei Ferreira Farnetani Junior <junior em farsoft.com.br>:
> Na verdade é uma store procedure de apuração de
> itens vendidos totalizando mes a mes no ano todo para
> apuração da média de necessidade de compra (estoque mínimo).

Algumas dicas genéricas:

- Dê nomes significativos para seus índices e constraints. É muito
difícil ler CFOP_VINCULO_IDX3 e imaginar o que significa.
CFOP_VINCULO_TIPO_OP seria muito mais legível porque inclui o nome do
campo indexado.
- Usar sintaxe join SQL-89 é pouco recomendado (ex. from tabelaA,
tabelaB, tabelaC). Use a sintaxe SQL-92. Além de mais legível, se não
me engano é o preferido pelo otimizador do Firebird.
Ex.:
from orcamentos o,
join orcamentos_itens oi on oi.is_orcamento = o.id_orcamento
where
o.is_filial=:vis_filial
and not o.status='C'


Sobre o primeiro sql da sua procedure:

Qual a seletividade do índice CFOP_VINCULO_IDX3? Se for maior que 0,2
ele está te ajudando muito pouco nesta procedure específica. Tente sem
ele, mas fique atento: tirá-lo pode desbalancear outros sqls onde ele
"pode" estar ajudando.

FK_ORCAMENTOS_7 é um índice em que campo? Qual a seletividade dele?

hth,
[]s
-- 
Douglas Tosi
www.sinatica.com

______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para saber como gerenciar/excluir seu cadastro na lista, use: 
http://www.firebase.com.br/fb/artigo.php?id=1107
Para consultar mensagens antigas: http://firebase.com.br/pesquisa 





Mais detalhes sobre a lista de discussão lista