Re: [firebase-br] Chave primária em ordem descendente

Tricon - Paulo tricon.paulo em gmail.com
Qui Fev 23 14:20:34 -03 2006


Fiz o teste numa tabela de 600.000 e levou 6 segundos.
Com indece levou 5.8 segundos.

Faça um teste mas acho que não vai mudar muito.

----- Original Message ----- 
From: "schiavor" <schiavor em uol.com.br>
To: "lista" <lista em firebase.com.br>
Sent: Thursday, February 23, 2006 2:19 PM
Subject: Re: [firebase-br] Chave primária em ordem descendente


Teoricamente ela deve sempre estar com cerca de 5000 mas ela recebe 15000 
inserções e remoções por hora.

A quantidade de registros nela depende dos softwares clientes estarem 
funcionando, se um deles fica sem conexão por exemplo a tabela acumula 50000 
registros facilmente.

Em alguns finais de semana ela chega a ter 200000 registros, por que alguns 
clientes desligam as máquinas.

O select com order by vai perder desempenho proporcional à quantidade de 
registros inseridos, o que não pode ocorrer, a busca pelas informações deve 
ter o máximo desempenho sempre, independente da quantidade de registros na 
tabela.

Estou pensando seriamente em inverter a ordenação do campo chave, que hoje é 
ascendente para descendente.

Alguém sabe afirmar com certeza, se existe diferença de velocidade na 
inserção de registros com a chave ordenada de forma ascendente, para as 
chaves ordenadas de forma descendente? Ou ambas as formas tem o mesmo 
desempenho?

[ ]'s Rodrigo Schiavo


> Quantos registros tem essa tabela?
>
> ----- Original Message ----- 
> From: "schiavor"
> To: "lista"
> Sent: Thursday, February 23, 2006 11:45 AM
> Subject: Re: [firebase-br] Chave primária em ordem descendente
>
>
> Assim funcionou mas tem um desempenho terrivel por causa do order by.
>
> [ ]'s Rodrigo Schiavo
>
> > Desculpa use assim
> >
> > select campos from tabela where codigo = (select first 1 codigo from
> > tabela
> > order by codigo desc)
> >
> > ----- Original Message ----- 
> > From: "schiavor"
> > To: "lista"
> > Sent: Thursday, February 23, 2006 11:17 AM
> > Subject: [firebase-br] Chave primária em ordem descendente
> >
> >
> > Bom dia,
> >
> >
> > Tenho uma tabela onde são feitas vária inserções/consultas/exclusões, o
> > total de inserções e remoções deve ser algo em torno de 200.000 por dia.
> >
> > Esta tabela possui um campo código que é chave primária e esta ordenado 
> > de
> > forma Ascendente, na consulta eu utilizo um select first, ou seja sempre
> > vou
> > estar pegando o menor código, ou o registro mais velho.
> > Preciso a partir de agora pegar o registro mais atual, modifiquei a
> > consulta
> > da seguinte forma:
> >
> > select CAMPOS from TABELA where CODIGO = (select MAX(CODIGO) from 
> > TABELA)
> >
> > Esta consulta fez com que houvesse uma grande perda de desempenho do
> > sistema.
> >
> > Uma alternativa a esta consulta seria utilizar:
> >
> > select First 1 CAMPOS from TABELA order by CODIGO Desc
> >
> > O que ao meu ver vai ter um desempenho infinitamente inferior
> >
> > Pensei em alterar o índice da coluna chave primária (CODIGO) para
> > Descendente ao invés de Ascendente. Com isto não seria necessário 
> > alterar
> > minha consulta, porém não sei se o Banco de Dados vai perder desempenho 
> > na
> > inserção. O que vocês podem me dizer sobre isto?
> >
> >
> >
> > Grato pela atenção.
> >
> > [ ]'s Rodrigo Schiavo
> > ______________________________________________
> > FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.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.bavs.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.bavs.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.bavs.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.bavs.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