[firebase-br] Duvidas na Criação de Indices

cpd em itauto.com.br cpd em itauto.com.br
Ter Out 29 08:26:55 -03 2013


Muito Obrigado Walter e Cantu .... foram esclarecedores suas explicacoes .

Adilson

-----Mensagem Original----- 
From: W O
Sent: Monday, October 28, 2013 6:18 PM
To: FireBase
Subject: Re: [firebase-br] Duvidas na Criação de Indices

1. Cuando creas una restricción Foreign Key el Firebird automáticamente
crea un índice *ascendente* para esa restricción. Un índice ascendente es
de la forma 1, 2, 3, 4, 5, 6, etc. Puedes usar ese índice para realizar
búsquedas o para ordenar los resultados, igual a como usarías cualquier
índice creado manualmente por tí mismo.

2. Puedes crear un índice compuesto por varias columnas o un índice para
cada columna, si creas un índice compuesto el orden en que usas las
columnas debe ser el mismo orden que tiene el índice compuesto. Por
ejemplo, si tu índice está compuesto por las columnas DTEMI y CODCLIENTE,
el Firebird usará ese índice cuando en tu WHERE  tengas solamente a la
columna DTEMI y también cuando tengas a las columnas DTEMI y CODCLIENTE,
pero no lo usará cuando solamente tengas a la columna CODCLIENTE.

Saludos.

Walter.



2013/10/28 <cpd em itauto.com.br>

> 1º Duvida – Tenho uma tabela de Faturamento , onde tenho os campos
>
> Tabela –>FATURAMENTO
> Campos –> ID_NF , DTEMI , CODCLIENTE ,VALOR_TOTAL
> Chave Estrangeiras –: CODCLIENTE linkado a tabela de Clientes .
>
> Queria saber se qndo eu faço uma ForengnKey , o indice ja é
> automaticamente criado e se ele servira pra agilizar pesquisas SQL .ou se
> não , mesmo tento uma Forengn Key , ainda sim preciso
> criar um Indice pro Campo CODCLIENTE .
>
> 2º Duvida – Caso eu faça uma consulta com varios campos em conjundo , por
> exemplo
>
> SELECT ID_NF , DTEMI , VALOR_TOTAL
> FROM FATURAMENTO
> WHERE DTEMI >= :DTINI AND DTEMI <= :DTFIM
> AND       CODCLIENTE = :CODCLIENTE
>
> É Nescessario a criação de indice pelo conjundo da consulta , por exemplo 
> :
> CREATE INDEX FATURAMENTO_DT_CD_CLI ON FATURAMENTO (DTEMI , CODCLIENTE);
>
> ou nao , devo somente criar um indice pra cada campo :
> CREATE INDEX FATURAMENTO_DTEMI ON FATURAMENTO (DTEMI);
> CREATE INDEX FATURAMENTO_CD_CLI ON FATURAMENTO (CODCLIENTE);
>
> Desde ja Agradeço
>
>
> Adilson Pazzini .
> ______________________________________________
> 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
______________________________________________
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