[firebase-br] 100 CPU firebird 2.5 Classic

Fabiano Moura mctbrasil em gmail.com
Sex Fev 18 22:54:55 -03 2011


Ou a query abaixo, porém, para a query ser executada de forma correta, vc
terá que estar com o banco atualizado para Firebird 2.5

SELECT FIRST 10
  STMT.MON$ATTACHMENT_ID,
STMT.MON$SQL_TEXT,
MEM.MON$MEMORY_USED
FROM MON$MEMORY_USAGE MEM
NATURAL JOIN MON$STATEMENTS STMT
ORDER BY MEM.MON$MEMORY_USED DESC



*Obrigado,*
*
*
*
*
*Fabiano Moura*

2011/2/18 Fabiano Moura <mctbrasil em gmail.com>

> Tente executar a query abaixo:
>
> SELECT a.mon$attachment_id as "Attachment ID",
>        a.mon$server_pid as "Server PID",
>        a.mon$state as "State",
>        a.mon$attachment_name as "Attachment Name",
>        a.mon$user as "User",
>        a.mon$role as "Role",
>        a.mon$remote_protocol as "Remote Protocol",
>        a.mon$remote_address as "Remote Address",
>        a.mon$remote_pid as "Remote PID",
>        cs.rdb$character_set_name as "Character Set",
>        a.mon$timestamp as "Established At",
>        a.mon$garbage_collection as "Garbage Collection",
>        a.mon$remote_process as "Remote Process",
>        a.mon$stat_id as "Statistics ID",
>        r.mon$record_seq_reads as "Non-indexed Reads",
>        r.mon$record_idx_reads as "Indexed Reads",
>        r.mon$record_inserts as "Records Inserted",
>        r.mon$record_updates as "Records Updated",
>        r.mon$record_deletes as "Records Deleted",
>        r.mon$record_backouts as "Records Backed Out",
>        r.mon$record_purges as "Records Purged",
>        r.mon$record_expunges as "Records Expunged",
>        io.mon$page_reads as "Page Reads",
>        io.mon$page_writes as "Page Writes",
>        io.mon$page_fetches as "Page Fetches",
>        io.mon$page_marks as "Page Marks",
>        cast(round((MEM.MON$MEMORY_USED / 1024.00 / 1024.00),2) as
> numeric(18,2)) as MEMORY_USED,
>        cast(round((MEM.MON$MEMORY_ALLOCATED / 1024.00 / 1024.00),2) as
> numeric(18,2)) as MEMORY_ALLOCATED,
>        cast(round((MEM.MON$MAX_MEMORY_USED / 1024.00 / 1024.00),2) as
> numeric(18,2)) as MAX_MEMORY_USED,
>        cast(round((MEM.MON$MAX_MEMORY_ALLOCATED / 1024.00 / 1024.00),2) as
> numeric(18,2)) as MAX_MEMORY_ALLOCATED
> from mon$attachments a
> join rdb$character_sets cs on (a.mon$character_set_id =
> cs.rdb$character_set_id)
> left join mon$record_stats r on (a.mon$stat_id = r.mon$stat_id)
> left join mon$io_stats io on (a.mon$stat_id = io.mon$stat_id)
> left join MON$MEMORY_USAGE MEM on (a.mon$stat_id = mem.mon$stat_id)
> order by a.mon$timestamp, a.mon$remote_process
>
>
>
> *Obrigado,*
> *
> *
> *Fabiano Moura*
>
> Em 18 de fevereiro de 2011 21:08, Carlos H. Cantu <listas em warmboot.com.br>escreveu:
>
> O Sinatica e/ou o FBScanner ajudam a auxiliar no processo de descobrir
>> tais queries.
>>
>> []s
>> Carlos H. Cantu
>> www.FireBase.com.br - www.firebirdnews.org
>> www.warmboot.com.br - blog.firebase.com.br
>>
>>
>> POT> Tivemos problema semelhante, e acredite ERAM INDICES, haviam JOINS
>> que
>> POT> não estavam sendo contemplados com LIGACOES VIA INDICES e isso gerava
>> POT> processamentos absurdos, é dificil detectar aonde mas tente rastrear
>> POT> quais as rotinas que levantam os 100% e otimize as sentenças SQL.
>>
>>
>> ______________________________________________
>> 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