[firebase-br] Ubuntu + Firebird 2.0 = processador com 100%

Denis denisrocha em hotmail.com
Qui Fev 22 11:36:56 -03 2007


O order by é apenas para vc ter o resultado de sua consulta ( select ) 
ordenado.

para criar um indice faça o seguinte :

CREATE  INDEX NOME_INDICE ON TABELA (CAMPO)

este é o uso mais comum. Mas tem outras opções. Neste caso melhor ver no 
manual do FB. Para utilizar os indices, o FB os usa automaticamente, mas vc 
tbm pode especificar com Plan. Mas como vc ainda está começando é melhor 
deixar o FB cuidar disso por enquanto.

Uma outra regrinha para a criação de indices é vc criar indices apenas para 
campos necessários. Geralmente campos que vc utiliza em cláusulas where e 
order by. Evite criar indices desnecessários, pois se criar as suas 
consultas ficarão mais lentas que sem indices. Tabelas pequenas tbm não há 
necessidade de indices. Campos tbm que vc utiliza em cláusulas where e order 
by que são feitas consultas muito raramente, não são aconselhados.


Denis



"BandaLemuel" <bandalemuel em yahoo.com.br> escreveu 
na mensagem news:02e401c7567b$91e9e720$0601a8c0 em wesley...
        Entendi, e como crio estes indices ? Ele são como os 'Order By ' do
comando SQL ?

        Wesley

----- Original Message ----- 
From: "Denis" <denisrocha em hotmail.com>
To: <lista em firebase.com.br>
Sent: Thursday, February 22, 2007 10:58 AM
Subject: Re: [firebase-br] Ubuntu + Firebird 2.0 = processador com 100%


>É bem complexo o funcionamento interno de um índice, com algoritmos
>sofisticados etc.... mas a grosso modo imagine o seguinte caso.
> Vc tem um livro e procura uma determinado assunto. Este livro tem umas
> 3000 páginas. Para vc achar uma informação especifica ( uma palavra por
> exemplo ) vc vai no no fim do livro ( normalmente ) e tem um indice por
> palavras. Estas palavras vão estar em ordem alfabética, então vc localiza
> a palavra rapidamente e ali tem as páginas onde vc vai encontrar o seu
> assunto. O funcionamento de um indice no FB é mais ou menos assim. Ou seja
> bem mais rápido que ler o livro todo para achar o assunto.
>
> Denis
>
>
>
> "BandaLemuel" <bandalemuel em yahoo.com.br> 
> escreveu na mensagem
> news:021001c75670$977aecd0$0601a8c0 em wesley...
>
>        Pegando o gancho, nunca entendi direito este negócio de indices,
> alguem poderia me esclarecer? , desde já agradeço...
>
>        Wesley
>
> ----- Original Message ----- 
> From: "Carlos H. Cantu (TeamFB)" 
> <listas em warmboot.com.br>
> To: "FireBase" <lista em firebase.com.br>
> Sent: Monday, February 19, 2007 4:59 PM
> Subject: Re: [firebase-br] Ubuntu + Firebird 2.0 = processador com 100%
>
>
> Sugiro que vc revise os planos das consultas que são realizadas para
> gerar o balancete, pois como nosso outro amigo disse, pode estar
> faltando índices para agilizar as consultas, ou os índices escolhidos
> podem não ser os ideais.
>
> Gerar o balancete através de uma stored procedure selecionável também
> pode ajudar.
>
> []s
> Cantu (Membro do TeamFB - FireBase)
> http://www.warmboot.com.br
> FireBase - http://www.FireBase.com.br
>
> D> Olá lista.
>
> D> Temos uma situação um pouco estranha ocorrendo em um cliente. Abaixo
> D> segue os detalhes.
>
> D> O banco de dados está num micro HP Xeon 3.2GHz com 1GB RAM e HD SCSI
> D> com 15.000rpm.
> D> O acesso é feito através de WTS num Pentium 4, 3.0GHz com 4GB de RAM e
> D> HD SATA com 7.200rpm.
> D> Diariamente são 33 pessoas conectadas ao servidor (23 utilizando o
> D> nosso sistema e os demais utilizando o sistema de Folha de Pagmento
> D> (não sei qual é o sistema)).
>
> D> O problema é o seguinte:
>
> D> Sempre quando algum dos usuários conectados ao nosso sistema executa a
> D> geração de um balancete/balanço o sistema 'congela' para os demais
> D> usuários. A geração do balancete/balanço não esta dentro de Stored
> D> Procedures, porém o processo consiste basicamente em INSERT INTO
> D> 'tabela' SELECT 'dados'. O detalhe é que o processo do firebird no
> D> servidor de banco de dados (ubuntu) alcança os 100% e fica assim até o
> D> fim da geração do balancete/balanço (algo em torno de 2min), e o 'load
> D> average' alcança de 0.95 a 0.99.
>
> D> Analisando o firebird.log, no dia de hoje, percebi o seguinte:
>
> D> db (Server)     Mon Feb 19      09:57:29        2007
> D>         INET/inet_error: read errno = 104
>
> D> db (Server)     Mon Feb 19      09:57:29        2007
> D>         INET/inet_error: read errno = 32
>
> D> db (Server)     Mon Feb 19      14:42:34        2007
> D>         INET/inet_error: read errno = 104
>
> D> db (Server)     Mon Feb 19      14:48:22        2007
> D>         INET/inet_error: read errno = 104
>
> D> db (Server)     Mon Feb 19      14:48:22        2007
> D>         INET/inet_error: read errno = 104
>
> D> db (Server)     Mon Feb 19      14:48:22        2007
> D>         INET/inet_error: read errno = 104
>
> D> Esses erros podem ser a causa do problema?
>
> D> Claro que o processo de geração de balancete/balanço deve ser
> D> melhorado. Talvez todo ele dentro de stored procedures. Todo o processo
> D> inclui aproxidamente 2.500 registros. Sendo que a tabela principal da
> D> base de dados desse cliente tem mais de 900.000 registros. Outro
> D> detalhe talvez impostantíssimo é que não temos nenhum índice na tabela
> D> temporária que armazena a geração do balancete/balanço.
>
> D> Gostaria de sugestões para que eu possa entender o que é melhor fazer
> D> para solucionar o problema.
>
> D> Obrigado.
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para editar sua configuração na lista, use o endereço
> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
>
> -- 
> No virus found in this incoming message.
> Checked by AVG Free Edition.
> Version: 7.5.441 / Virus Database: 268.18.3/694 - Release Date: 20/02/2007
> 13:44
>
>
>
>
> _______________________________________________________
> Yahoo! Mail - Sempre a melhor opção para você!
> Experimente já e veja as novidades.
> http://br.yahoo.com/mailbeta/tudonovo/
>
>
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para editar sua configuração na lista, use o endereço
> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
>
>
>
>


--------------------------------------------------------------------------------


______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa


--------------------------------------------------------------------------------


No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.5.441 / Virus Database: 268.18.3/694 - Release Date: 20/02/2007
13:44



_______________________________________________________
Yahoo! Mail - Sempre a melhor opção para você!
Experimente já e veja as novidades.
http://br.yahoo.com/mailbeta/tudonovo/


______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para editar sua configuração na lista, use o endereço 
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa







Mais detalhes sobre a lista de discussão lista