[firebase-br] Trabalhando corretamente com Indices

Marcelo Moreira marcelomoreira.souza em gmail.com
Seg Nov 29 23:32:22 -03 2010


Pessoal,
Mais uma duvida referente ao correto uso dos indeces.
Segue uma tabela onde tenho um grande volume de informacoes hoje 390.000
registros, este volume aumenta muito rapido.

CREATE TABLE CONTACT (
    CONTACT_ID        NUMERIC(18,0) NOT NULL,
    GROUP_CONTACT_ID  NUMERIC(18,0),
    NAME              VARCHAR(50),
    MOBILE_NUMBER     CHAR(10),
    BIRTHDAY          VARCHAR(5),
    USERNAME          VARCHAR(30),
    CUSTOMER_ID       NUMERIC(18,0)
);

ALTER TABLE CONTACT ADD CONSTRAINT PK_CONTACT PRIMARY KEY (CONTACT_ID);

Em telas diferentes do sistema tenho SELECT's diferentes:


select NAME, MOBILE_NUMBER from CONTACT where GROUP_CONTACT_ID =
@GROUP_CONTACT_ID

select CONTACT_ID, NAME, MOBILE_NUMBER, BIRTHDAY from CONTACT where
(GROUP_CONTACT_ID = GROUP_CONTACT_ID) and (NAME containing @SEARCH)

select CONTACT_ID, NAME, MOBILE_NUMBER, BIRTHDAY from CONTACT where
(GROUP_CONTACT_ID = GROUP_CONTACT_ID) and (MOBILE_NUMBER = @SEARCH)

GROUP_CONTACT_ID esta nos tres SELECT's, depois eu tenho o campo NAME ou
MOBILE_NUMBER

Estes SELECT's estao lentos, dai minha duvida: Criando indices nos campos
que vao no WHERE podem me ajudar ou atrapalhar?

Estou usando o Firebird 2.1.3 Classic.

Mais uma vez grato pela atenção.

-- 
Marcelo Moreira
(31) 8420-2723
E-mail / MSN: marcelomoreira.souza em hotmail.com
E-mail: marcelomoreira.souza em gmail.com
Skype: marcelomoreira.souza



Mais detalhes sobre a lista de discussão lista