[firebase-br] Trabalhando corretamente com Indices

Pedro Braga bragaped em gmail.com
Ter Nov 30 08:18:45 -03 2010


A Criação de Index no Campo soh se vale a pena quando se tem uma grande
diferença de valores no campo como acontece comido tenho uma tabela com 1
milhão de registro e uma consulta nela em um campo que tem apenas 3
conteudos (1,2,3) nesse campo não vale a pena a criação agora tenho um campo
de Timestamp de gravação e uso em uma consulta nesse caso é excencial a
criação do index no campo pois ah uma seletividade muito grande.

Em 29 de novembro de 2010 23:32, Marcelo Moreira <
marcelomoreira.souza em gmail.com> escreveu:

> 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
> ______________________________________________
> 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