[firebase-br] Da para evitar duplicação de índice

Luis H Romão luish em virweb.com.br
Seg Maio 23 14:25:34 -03 2005


Boa tarde ,vamos discutir um pouco uma questão de performance??

tenho o seguinte caso

tabela master

CREATE TABLE MASTER (
    ID      INTEGER NOT NULL,
    CAMPO1  INTEGER
);
---------------------------------



tabela detalhe

CREATE TABLE DETALHE (
    ID      INTEGER NOT NULL,
    MASTER  INTEGER,
    NOME    CHAR(10)
);

/***************************************************************************
***/
/****                             Foreign Keys
****/
/***************************************************************************
***/

ALTER TABLE DETALHE ADD CONSTRAINT FK_DETALHE FOREIGN KEY (MASTER)
REFERENCES MASTER (ID) ON UPDATE CASCADE;
----------------------------------

Nos relatórios necessito que os nomes fiquem em ordenados, para isso crio o
indice master,nome

CREATE INDEX DETALHE_IDX1 ON DETALHE (MASTER, NOME);

Minha dúvida: Ficamos com dois indices
FK_DETALHE      master
DETALHE_IDX1    master,nome

isso não é uma redundância já que o DETALHE_IDX1 contem o FK_DETALHE ?
existe alguma formao da CONSTRAINT utilizar o índice DETALHE_IDX1 ?

Com o BDE geralmento coloco como masterfild o campo master e como
indexfieldnames os dois campos master;nome deste forma é feito o
relacionamento mestre/detalha com o indece duplo. A nível do banco isto não
é possível?

obrigado a todos que estão colaborando.
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.806 / Virus Database: 548 - Release Date: 5/12/2004






Mais detalhes sobre a lista de discussão lista