[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