Performace Servidor Firebird
Performace Servidor Firebird
Performace Servidor Firebird
Firebird
•Use índices corretamente
Defina índices para todas as colunas que vão ser usadas para join’s ou
ordenações. Os índices são estruturas de dados de árvores balanceadas
que fornecem um grande aumento na velocidade da procura dos valores
nas colunas em que os índices são definidos. Isto é especialmente útil
quando ordenamos por uma coluna em particular ou juntamos duas
tabelas por uma coluna que as duas têm em comum.
Lembre que um índice Firebird é específico para uma direção de
ordenação, ascendente ou descendente (ASCENDING x DESCENDING),
e a direção de um índice deve ser igual à direção escolhida quando se faz
a ordenação. Se você for usar as duas direções, ascendente ou
descendente, crie dois índices para as chaves de ordenação. As
inclusões e alterações usam índices para serem gravadas, o que pode
prejudicar a performance durante um INSERT ou UPDATE, mas alguns
custos impostos durante a entrada de dados podem resultar em um
grande ganho de performance mais tarde na pesquisa destes dados.
Para minimizar a perda de performance durante um INSERT, considere
em desabilitar os índices durante um grande volume de INSERTs. Isto irá
‘desligar’ os índices, tornando-os indisponíveis para ajudar a acelerar as
pesquisas, mas também não vão ser atualizados durante os INSERTs.
Então, reabilite-os depois de terminados os INSERTs, e os índices serão
atualizados e balanceados uma vez para todos os dados incluídos.
Periodicamente reconstrua os índices, desativando e ativando
novamente (ALTER INDEX nome INACTIVE; seguido de ALTER INDEX
nome ACTIVE;). Recalcule o índice seletivamente (SET STATISTICS
INDEX nome;) se uma mudança na tabela afeta a distribuição regular dos
valores e dados. Os índices também são reconstruídos do mesmo modo
durante o restore.
•Otimize as pesquisas
O Firebird irá analisar uma pesquisa (query) e o otimizador fará a
melhor estimativa de quais índices deverão ser empregados para acelerar
a pesquisa. Mas nenhum otimizador automático é infalível. Para queries
complexas que serão usadas freqüentemente, ou que serão aplicadas a
um número elevado de dados, construa a pesquisa cuidadosamente. Use
a opção SET PLAN da ferramenta ISQL para testar queries, ver sua
performance e ver qual PLAN o otimizador escolheu. No Interbase v4.0,
v4.1 e v4.2 existem alguns problemas conhecidos em tais queries usando
a sintaxe JOIN na linguagem ANSI SQL-92, que não são analisados e
otimizados corretamente. Evite esta sintaxe ou, se tiver que usá-la,
especifique seu próprio PLAN.
•Ajuste o cache do Firebird
O Firebird mantém seu próprio cache de páginas do banco de dados
correntemente em uso na RAM do servidor. O tamanho padrão do cache
na versão superserver (Windows) é 2048 páginas de banco de dados (isto
é compartilhado por todos os clientes conectados a um dado banco de
dados). Para um banco de dados com 1Kb de páginas, isto ainda é
somente 2048Kb. A maioria dos servidores tem muita memória, então
ponha em uso! Experimente ajustar o cache de 256 até 10.000 páginas.
Em algum ponto verá diminuir os retornos, mas alguma experimentação
irá revelar este ponto.
Artigo Original:
http://www.ibphoenix.com/main.nfs?a=ibphoenix
&l=;IBPHOENIX.PAGES;NAME='ibp_tip_perf'