[firebase-br] RES: Ajuda para entender um Plan

Kleber Caneva kdcc em terra.com.br
Sex Out 5 16:23:48 -03 2007


Vou colocar assim:

O que é mais rapido para ser resolvido?
    ((KPEDIDO = 123) and (KPEDITEM =456))
ou
    (KPEDITEM =456)
Pode parecer insignificante a diferença, mas imagine uma sobrecarga de 
varios lugares utilizando dessa forma, e varios usuarios acessando ao mesmo 
tempo o SGDB. Isso pode fazer diferença.


- Outro ponto:

Se você usar PK Composta, ele só usará o indice se a condição for na mesma 
sequencia:
    ((KPEDIDO = 123) and (KPEDITEM =456))
Se você usar assim não usará o indice
    ((KPEDITEM =456) and (KPEDIDO = 123))


Se forem separados, o FB usará indice em ambos os casos.

[]´s

Kléber Caneva



----- Original Message ----- 
From: "Rodrigo Madureira Barbosa" <rodrigo.madu em gmail.com>
To: "'FireBase'" <lista em firebase.com.br>
Sent: Friday, October 05, 2007 4:03 PM
Subject: [firebase-br] RES: Ajuda para entender um Plan


Agora me bateu uma dúvida... Nessas condições, quais seriam as diferenças
entre as duas situações a seguir:

PEDITEM (01)
-----------
KPEDITEM (PK)
KPEDIDO  (FK)
NUMERO
CLIENTE

PEDITEM (02)
-----------
KPEDIDO  (PK) (FK)
KPEDITEM (PK)
NUMERO
CLIENTE

Geralmente eu prefiro usar a 2ª opção, mas existe então uma diferença grande
entre essas duas possibilidades de estrutura ?

Rodrigo Madureira Barbosa - Gerpos Sistemas
Desenvolvedor - (28) 3521-1692
www.gerpos.com.br
rodrigo em gerpos.com.br
rodrigo.madu em gmail.com

"De tanto ver triunfar as nulidades, de tanto ver prosperar a desonra, de
tanto ver crescer a injustiça, de tanto ver agigantarem-se os poderes nas
mãos dos maus, o homem chega a desanimar-se da virtude, a rir-se da honra e
a ter vergonha de ser honesto." (Rui Barbosa)

-----Mensagem original-----
De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br] Em
nome de Kleber Caneva
Enviada em: sexta-feira, 5 de outubro de 2007 15:39
Para: FireBase
Assunto: Re: [firebase-br] Ajuda para entender um Plan

Cada tabela tem uma PK. Que via de regrã é unica e exclusiva. Outros campos
tornam-se FK dela.

Exemplo:

PEDIDO
-----------
KPEDIDO  (PK)
NUMERO
CLIENTE

PEDITEM
-----------
KPEDITEM  (PK)
KPEDIDO  (FK)   <--- ao invés de fazer parte da PK, esse campo fica
relacionado via FK.
NUMERO
CLIENTE


A vantagem desse metodo é que tanto faz eu usar no Order By   KPEDITEM,
KPEDIDO ou o inverso, ele usará o indice.
Quando você cria indices com um campo só, o FB consegue mesclá-los para
utilização

[]´s

Kléber Caneva



----- Original Message ----- 
From: "Forrest®" <fernando em gramatura.com.br>
To: <lista em firebase.com.br>
Sent: Friday, October 05, 2007 12:29 PM
Subject: Re: [firebase-br] Ajuda para entender um Plan


Kleber Caneva wrote:

> Isso ocorre porque na sua tabela de CONTAS_RECEBER seus indices são
> compostos, sendo o primeiro campo o TIPO e despois o DOCUMENTO.
>
> No Order By vc está definindo para ordenar por DOCUMENTO, então ele
> não tem indice por esse campo para usar.
>
> Para utilizar incide, vc deveria colcoar o TIPO no Order by antes do
> DOCUMENTO, ou ainda, criar um indice só do campo documento.
>
> Eu particularmente não gosto de trabalhar com indices compostos.
---

Olá Kleber obrigado, também pensei nessa possibilidade e coloque o
indice total no orde by também e mesmo assi gerou o mesmo plan por isso
achei estranho. Como comentado por você, não gosta de indices
compostos, mas em tabelas como estas que precisa de um indice composto
como você trata isso para que não tenha inconscistencia de dados e
manter a integridade entre as tabelas?

T++++++++++++++

-- 



______________________________________________
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

E-mail classificado pelo Identificador de Spam Inteligente Terra.
Para alterar a categoria classificada, visite
http://mail.terra.com.br/cgi-bin/imail.cgi?+_u=kdcc&_l=1,1191598841.79106.31
240.calomba.hst.terra.com.br,4583,Des15,Des15



______________________________________________
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

E-mail classificado pelo Identificador de Spam Inteligente Terra.
Para alterar a categoria classificada, visite
http://mail.terra.com.br/cgi-bin/imail.cgi?+_u=kdcc&_l=1,1191611408.235264.20640.cosmoledo.hst.terra.com.br,8181,Des15,Des15






Mais detalhes sobre a lista de discussão lista