[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