[firebase-br] Excesso de varredura em tabelas

Alexandre Sousa dave.malkavian em gmail.com
Seg Nov 29 15:30:49 -03 2010


Índice no priority_id na minha opinião é desnecessário. A granularidade 
desse campo é muito baixa. O índice pode acabar prejudicando mais a 
performance do que ajudando.

Abraço!

Em 29/11/2010 15:12, Pedro Braga escreveu:
> eu adicionaria um index individual para cada campo pois o que da um queda de
> performace é o order by e como o campo está sem index dica um poco mais de
> carga para o ordenação. e o port_number por estar no where
>
> 2010/11/29 Marcelo Moreira<marcelomoreira.souza em gmail.com>
>
>> Cantu,
>>
>> No caso estou executando esta SP, dai tendo as mensagens que eu citei:
>> De uma olhada.
>>
>> CREATE OR ALTER PROCEDURE PORT_RESERVE (
>>     port_number integer)
>> returns (
>>     send_list_id numeric(18,0),
>>     mobile_number char(10),
>>     message_alpha varchar(160))
>> as
>> begin
>>   select first 1 SEND_LIST_ID, MOBILE_NUMBER, MESSAGE_ALPHA from
>>   (
>>       /* PROCURAR PRIORIDADE 1 */
>>       select
>>         first 1
>>         sl.send_list_id,
>>         sl.mobile_number,
>>         sl.message_alpha
>>       from
>>         send_list sl
>>       where
>>         (sl.port_number = :port_number) and
>>         (sl.priority_id = 1)
>>
>>       union
>>       /* PROCURAR PRIORIDADE 2 */
>>       select
>>         first 1
>>         sl.send_list_id,
>>         sl.mobile_number,
>>         sl.message_alpha
>>       from
>>         send_list sl
>>       where
>>         (sl.port_number = :port_number) and
>>         (sl.priority_id = 2)
>>   )
>>   order by
>>         send_list_id
>>   into
>>         :send_list_id,
>>         :mobile_number,
>>         :message_alpha;
>>
>>   suspend;
>> end
>>
>> No caso na tabela SEND_LIST eu tenho apenas:
>>
>> ALTER TABLE SEND_LIST ADD CONSTRAINT PK_SEND_LIST PRIMARY KEY
>> (SEND_LIST_ID);
>>
>> Nos campos PORT_NUMBER posso ter valores de 1 a 180 e PRIORITY_ID tenho
>> valores 1 ou 2
>>
>> Esta tabela esta o tempo todo sofrendo update's, insert's e delet's
>>
>> No caso ai seria indicado eu adicionar indices em quais campos?
>>
>> Obrigado pela atenção!
>> Abs.
>> ______________________________________________
>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>> Para saber como gerenciar/excluir seu cadastro na lista, use:
>> http://www.firebase.com.br/fb/artigo.php?id=1107
>> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use: http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa





Mais detalhes sobre a lista de discussão lista