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

schiavor schiavor em uol.com.br
Qui Fev 23 11:37:10 -03 2006


Obrigado pela dica David.

Esta tabela é de uso muito restrito e executa apenas 3 operações:

Muitas inserções.

Muitas consultas ao registro mais velho, e que precisa ser alterada para: Muitas consultas ao registro mais novo.

Muitas exclusões. ( delete from TABELA where CODIGO = :CODIGO )

Qualquer outra consulta feita a esta tabela será exporadica e não necessita ter bom desempenho.

Tenho receio de criar um outro índice e arrumar um novo problema com a perda de desempenho durante as inserções. Mas se for a melhor solução estarei executando.

[ ]'s Rodrigo Schiavo


> Provavelmente em algum momento você irá fazer alguma consulta nessa tabela 
> em modo ascendente por CODIGO. Se for esse o caso, talvez o melhor seria 
> criar um segundo índice com a ordem descendente. 
> 
> David 
> 
> ----- 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 
> 



Mais detalhes sobre a lista de discussão lista