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

eduardo eduardo em icontroller.com.br
Qui Fev 23 14:09:32 -03 2006


Quanto à inserção, sem problemas
Quanto ao Select Max, aumento drástico de performance

[]s Eduardo

schiavor wrote:
> 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