[firebase-br] Excesso de varredura em tabelas

Pedro Braga bragaped em gmail.com
Seg Nov 29 15:12:31 -03 2010


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
>



Mais detalhes sobre a lista de discussão lista