[firebase-br] Excesso de varredura em tabelas
Marcelo Moreira
marcelomoreira.souza em gmail.com
Seg Nov 29 23:19:07 -03 2010
Pessoal,
Obrigado pela atenção de todos.
Vou realizar os testes e observar se o problema sera resolvido.
Obrigado a todos!
Abraços!!
Em 29 de novembro de 2010 15:37, Carlos H. Cantu
<listas em warmboot.com.br>escreveu:
> Experimente criar um índice pelo menos para port_number.
>
> []s
> Carlos H. Cantu
> www.FireBase.com.br <http://www.firebase.com.br/> - www.firebirdnews.org
> www.warmboot.com.br - blog.firebase.com.br
>
> MM> Cantu,
> MM>
> MM> No caso estou executando esta SP, dai tendo as mensagens que eu citei:
> MM> De uma olhada.
> MM>
> MM> CREATE OR ALTER PROCEDURE PORT_RESERVE (
> MM> port_number integer)
> MM> returns (
> MM> send_list_id numeric(18,0),
> MM> mobile_number char(10),
> MM> message_alpha varchar(160))
> MM> as
> MM> begin
> MM> select first 1 SEND_LIST_ID, MOBILE_NUMBER, MESSAGE_ALPHA from
> MM> (
> MM> /* PROCURAR PRIORIDADE 1 */
> MM> select
> MM> first 1
> MM> sl.send_list_id,
> MM> sl.mobile_number,
> MM> sl.message_alpha
> MM> from
> MM> send_list sl
> MM> where
> MM> (sl.port_number = :port_number) and
> MM> (sl.priority_id = 1)
>
> MM> union
> MM> /* PROCURAR PRIORIDADE 2 */
> MM> select
> MM> first 1
> MM> sl.send_list_id,
> MM> sl.mobile_number,
> MM> sl.message_alpha
> MM> from
> MM> send_list sl
> MM> where
> MM> (sl.port_number = :port_number) and
> MM> (sl.priority_id = 2)
> MM> )
> MM> order by
> MM> send_list_id
> MM> into
> MM> :send_list_id,
> MM> :mobile_number,
> MM> :message_alpha;
>
> MM> suspend;
> MM> end
> MM>
> MM> No caso na tabela SEND_LIST eu tenho apenas:
> MM>
> MM> ALTER TABLE SEND_LIST ADD CONSTRAINT PK_SEND_LIST PRIMARY KEY
> (SEND_LIST_ID);
> MM>
> MM> Nos campos PORT_NUMBER posso ter valores de 1 a 180 e PRIORITY_ID tenho
> valores 1 ou 2
> MM>
> MM> Esta tabela esta o tempo todo sofrendo update's, insert's e delet's
> MM>
> MM> No caso ai seria indicado eu adicionar indices em quais campos?
> MM>
> MM> Obrigado pela atenção!
> MM> Abs.
>
>
--
Marcelo Moreira
(31) 8420-2723
E-mail / MSN: marcelomoreira.souza em hotmail.com
E-mail: marcelomoreira.souza em gmail.com
Skype: marcelomoreira.souza
Mais detalhes sobre a lista de discussão lista