[firebase-br] Re-Indexing

Sandro Souza escovadordebits em gmail.com
Sex Nov 16 10:37:24 -03 2012


Bom dia/tarde Juliana.

Se o você deseja reindexar para atualizar as estatísticas dos índices, e
dessa forma, aumentar a performance das consultas, deveria utilizar o
comando SET STATISTICS INDEX para cada índice da sua base de dados.

Criando uma stored procedure para isso seria mais prático, como no seguinte
exemplo:

SET TERM ^ ;

CREATE OR ALTER PROCEDURE ATUALIZA_ESTATISTICAS AS
DECLARE VARIABLE COMANDO VARCHAR(200);
BEGIN
  FOR SELECT RDB$INDEX_NAME FROM RDB$INDICES WHERE RDB$SYSTEM_FLAG = 0 INTO
:COMANDO DO
  BEGIN
    COMANDO = 'SET STATISTICS INDEX ' || COMANDO || ';';
    EXECUTE STATEMENT :COMANDO;
  END
END^

SET TERM ; ^

Depois é só executá-la sempre que precisar (ou até periodicamente, se for o
caso).

Espero ter ajudado mais que atrapalhado. :D
No dia 16 de Nov de 2012 09:03, "Juliana Maria" <
juliana em engenhosistemas.com.br> escreveu:

> Bom dia. Gente, por favor, tem como reindexar o Firebird sem ser pelo
> Backup/Restore? Obrigada! Juliana
>
>
> ______________________________________________
> 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