[firebase-br] Recalculo de seletividade e exclusão de índice é necessário Backup/Restore?

Felipe Aron felipearon em gmail.com
Qui Set 5 15:55:42 -03 2013


Vilmar, um artigo interessante pra ler:

http://www.fatec.br/html/ricardo_firebird.php

Em resumo, quanto mais próximo de zero for a seletividade do índice melhor
(ex.> 0,00003251).

Índices com por exemplo 0,5 é considerado um péssimo índice, pois pra esse
valor existem apenas 2 possibilidades em informação na coluna. Ex>
Coluna-Sexo (M/F).

Tive um caso aqui onde num Select para relatório o mesmo estava demorando
3segs, porém esse Select iria ser utilizado para 1~N funcionários
selecionados. Imagina selecionar 30 funcionários (média da empresa
matriz/filial) = 30 x 3 segs = 90segs = 1min30segs.

Vendo a primeiro olhar não é tão demorado assim, porém analisando o PLAN do
Select, percebi que estava fazendo um uso de um índice (TIPO=R ou C) de
seletividade 0,5. Removendo esse índice o mesmo Select foi de 3segs para
300ms (mili-segundos), logo o resultado final não só para o relatório mas
para o sistema em geral se tornou muito melhor.

Porém isso exige análise, pois cada caso é um caso.

Eu sigo o seguinte critério = Não é possível identificar todos os índices
que devem ser criados (com exceção dos PK/FK). Alguns já são previsíveis
(Ex.> Nome de cliente) outros duvidosos. Na dúvida não crie! Melhor é
esperar o banco ser populado, ou até mesmo usar ferramentas para popular o
banco e ver o comportamento do sistema.

Com dados populados, fica muito mais fácil identificar onde é necessário ou
não criar índices.

Se corrigi algum equívoco com a minha explicação, fiquem a vontade para
criticar, melhorar! :D


Em 5 de setembro de 2013 15:35, Vilmar Diogo <vilmardiogo em mcisistemas.com.br
> escreveu:

> Felipe boa tarde, que critério você utiliza para chegar a conclusão, de que
> o índice esta atrapalhando ?
>
>
> Em 5 de setembro de 2013 14:09, Felipe Aron <felipearon em gmail.com>
> escreveu:
>
> > Fala galera blz?!
> >
> > Estou analisando um banco de dados e encontrei alguns índices que estão
> > atrapalhando ao invés de ajudar (seletividade 0,25, 0,5, 1...).
> >
> > Fiz o recálculo de seletividade para identificar os índices
> problemáticos e
> > removi eles das tabelas.
> >
> > Pergunta: É necessário fazer um backup/restore no banco de dados após
> esse
> > processo? Pergunto pois creio que as páginas do firebird seja alterada
> > também (estou correto?)
> >
> > Abraço.
> >
> > --
> > سمووحخ ̷̴̐ خ ̷̴̐ خ ̷̴̐ خ امارتيخ ̷̴̐ خ
> > Analista-Programador
> > #FollowMe: @felipearon <http://twitter.com/felipearon> (
> > http://felipearon.net)
> > ______________________________________________
> > 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
>
>
>
>
> --
> Vilmar Diogo
> MCI Sistemas
> Analista Programador
> 69 9960-1483
> ______________________________________________
> 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
>



-- 
سمووحخ ̷̴̐ خ ̷̴̐ خ ̷̴̐ خ امارتيخ ̷̴̐ خ
Analista-Programador
#FollowMe: @felipearon <http://twitter.com/felipearon> (
http://felipearon.net)



Mais detalhes sobre a lista de discussão lista