[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