[firebase-br] Dificuldades com select - demora

Eduardo Jedliczka (TeamFB) jedyfb em gmail.com
Ter Jul 4 14:23:51 -03 2006


O índice da PK pode ou não ser utilizado na Consulta.

Isto depende do WHERE (e às vezes do order by).

Se você fizer um SELECT * FROM TABELA, o otimizador do banco chegará a 
conclusão que é desvantagem utilizar o índice da PK, pois seria mais rápido 
buscar diretamente todos os registros. (não há ordem ou filtro desejado)

Agora se a PK é composta por 3 campos, a procura com WHERE pelo 1º campo 
utilizará a PK, em contrapartida, a procura apenas pelo 3º campo seria 
completamente inviável. Por isto o banco pode preferir NATURAL.

======================
Eduardo Jedliczka
Membro do TeamFB - FireBase
Apucarana - PR
======================

----- Original Message ----- 
From: "Magnun Oliveira" <magnun_magnun em hotmail.com>
To: <lista em firebase.com.br>
Sent: Tuesday, July 04, 2006 2:03 PM
Subject: Re: [firebase-br] Dificuldades com select - demora


agora ferrou ... o indice da pk não eh usado na consulta?

ex:
tabela Cliente

codigo integer not null,
nome varchar(50),
telefone varchar(14),
...
constraint pk_codigo_cliente primary key (codigo)

se eu fizer select * from cliente, no plan vai aparecer natural.

Tenho que indicar os indices da cunsultas manualmente?

>From: "Eduardo Jedliczka (TeamFB)" <jedyfb em gmail.com>
>Reply-To: FireBase <lista em firebase.com.br>
>To: "FireBase" <lista em firebase.com.br>
>Subject: Re: [firebase-br] Dificuldades com select - demora
>Date: Tue, 4 Jul 2006 13:55:00 -0300
>
>Você NÃO está utilizando nenhum índice nesta pesquisa... (NATURAL significa
>que o banco está percorrendo toda a tabela)
>
>Recomendo a criar um índice exclusivo para este campo (independente dele
>fazer parte da PK) e testar novamente...
>
>======================
>Eduardo Jedliczka
>Membro do TeamFB - FireBase
>Apucarana - PR
>======================
>
>----- Original Message -----
>From: ">>Diego Aparecido<<" <diegoap01 em gmail.com>
>To: "FireBase" <lista em firebase.com.br>
>Sent: Tuesday, July 04, 2006 1:42 PM
>Subject: Re: [firebase-br] Dificuldades com select - demora
>
>
>Galera, estou desenvolvendo o sistema em PHP.
>
>Mas o sql em questão eu faço diretamente no IB Expert, pra testes, e deve
>trazer 1 registro, pois o campo que estou pesquisando é PK e  tem índice
>tb.
>O campo registro é Varchar, será esse o motivo dessa demora?
>
>Eduardo, o PLAN é este:
>Plan
>PLAN (ATENDIMENTOS NATURAL)
>
>Adapted Plan
>PLAN (ATENDIMENTOS NATURAL)
>
>
>Valeu!
>[]'s
>
>Diego
>
>
>2006/7/4, Eduardo Jedliczka (TeamFB) <jedyfb em gmail.com>:
> >
> > O campo REGISTRO é Varchar ? Tem Índice para este campo?
> >
> > Qual o PLAN montado pelo banco ? ele está NATURAL ou está pegando uma
>FK?
> >
> > ======================
> > Eduardo Jedliczka
> > Membro do TeamFB - FireBase
> > Apucarana - PR
> > ======================
> >
> > ----- Original Message -----
> > From: ">>Diego Aparecido<<" <diegoap01 em gmail.com>
> > To: "FireBase" <lista em firebase.com.br>
> > Sent: Tuesday, July 04, 2006 11:55 AM
> > Subject: [firebase-br] Dificuldades com select - demora
> >
> >
> > Olá galera, bom dia!
> >
> > Tenho uma base de dados, e em uma tabela tem 850.000 linhas.
> >
> > nessa tabela tenho 3 campos que são PK e índice, mas quando faço um
> > simples
> > select:
> >
> > SELECT REGISTRO FROM ATENDIMENTOS WHERE REGISTRO = '060045314'
> >
> >
> > ele demora muito a trazer o resultado, pra mais de 3 minutos.
> >
> > O que posso fazer para agilizar essa busca?
> >
> > Estou usando o firebird 1.5 no linux.
> >
> > obrigado
> >
> > Diego
> > ______________________________________________
> > 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
> >
>______________________________________________
>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

_________________________________________________________________
MSN Messenger: converse com os seus amigos online.
http://messenger.msn.com.br


______________________________________________
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 





Mais detalhes sobre a lista de discussão lista