[firebase-br] PLAN natural, porque?

omar l m rosa omarrosa em terra.com.br
Qua Jan 24 12:13:06 -03 2007


O exemplo foi furado!!!
Eis novamente, agora completo: ( fb2.0)

pedidos_merc -> merc_estoques -> mercadorias

Colei no IbExpert e dei um prepare;

select M.PK_MERCADORIAS,
       M.CODIGO,
       P.STATUS,
       P.CODIGO_PEDIDO,
       M.DESCRICAO,
       P.QUANTIDADE,
       P.PRECO_UNITARIO,
       P.DESCONTO,
       E.LOCALIZACAO,
       U.NOME,
       P.PK_PEDIDOS,
       P.PK_PEDIDOS_MERC,
       P.PK_USUARIOS,
       P.PK_MERC_ESTOQUES,
       P.DATA,
       P.TABELA_PRECOS,
       P.QUANTIDADE * P.PRECO_UNITARIO
from MERCADORIAS M, PEDIDOS_MERC P, USUARIOS U, MERC_ESTOQUES E
where M.PK_MERCADORIAS = E.PK_MERCADORIAS and
      P.PK_MERC_ESTOQUES = E.PK_MERC_ESTOQUES and
      P.PK_USUARIOS = U.PK_USUARIOS and
      P.PK_PEDIDOS = :APK_PEDIDOS
      order by PK_PEDIDOS_MERC

Plan
PLAN SORT (JOIN (M NATURAL, E INDEX (I_MERC_ESTOQUES_1), P INDEX
(FK_PEDIDOS_MERC_1), U INDEX (PK_USUARIOS)))

Adapted Plan
PLAN SORT (JOIN (M NATURAL, E INDEX (I_MERC_ESTOQUES_1), P INDEX
(FK_PEDIDOS_MERC_1), U INDEX (PK_USUARIOS)))


----- Original Message -----
From: "Henrique Netzka (Vetor Sistemas)" <henrique em vetorsistemas.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Wednesday, January 24, 2007 8:31 AM
Subject: Re: [firebase-br] PLAN natural, porque?


Bom dia, Omar!

Mas os indices estão sendo usados!! Porém, você não colocou nenhum filtro na
tabela mercadorias... Logo, ele vai buscar todos os registros desta tabela!
Ou seja, o que ele poderia fazer com o índice da mercadorias se ele vai ter
que buscar todos os registros?!

Abraços,
Henrique Netzka
----- Original Message -----
From: "omar l m rosa" <omarrosa em terra.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Wednesday, January 24, 2007 10:02 AM
Subject: [firebase-br] PLAN natural, porque?


O select abaixo está me retornando um plano extranho, pois todas as colunas
do where são primary keys, portanto indexadas, e logo ma tabela mercadorias
que é a maior!!!!
(fb 2.0)
-----------

select m.pk_mercadorias,
m.codigo,
p.status,
P.CODIGO_PEDIDO,
m.descricao,
p.quantidade,
p.preco_unitario,
p.desconto,
e.localizacao,
u.nome,
p.pk_pedidos,
p.pk_pedidos_merc,
p.pk_usuarios,
p.pk_merc_estoques,
p.data,
p.TABELA_PRECOS,
p.quantidade * p.preco_unitario
from mercadorias m, pedidos_merc p, usuarios u, merc_estoques e
where m.pk_mercadorias = e.pk_mercadorias and
      p.pk_merc_estoques = e.pk_merc_estoques and
      p.pk_usuarios = u.pk_usuarios
;
----------------
Plan
PLAN JOIN (M NATURAL, E INDEX (I_MERC_ESTOQUES_1), P INDEX
(FK_PEDIDOS_MERC_1), U INDEX (PK_USUARIOS))

Adapted Plan
PLAN JOIN (M NATURAL, E INDEX (I_MERC_ESTOQUES_1), P INDEX
(FK_PEDIDOS_MERC_1), U INDEX (PK_USUARIOS))


______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa


______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa





Mais detalhes sobre a lista de discussão lista