[firebase-br] Tipo de indices

Gladiston Santana gladiston em vidy.com.br
Seg Out 2 09:49:50 -03 2017


Há empresas que seu banco quase não tem exclusão, é tudo uma situação de
status do registro e isso significa que podem lidar com mais indices e se
preocupar menos com a queda de performance que um indice poderia trazer nas
atualizações.
Há programas que trabalham com crédito e débito como os de venda de
bilhetagem onde basicamente são só inclusões, se houvesse indice, seriam
clusterizados(fb não tem esse tipo de indice), caso contrário usar vários
indices significaria penalizar o tempo de uma venda porque o commit levaria
em conta a atualização deles.
Há situação onde o indice deveria ser uma expressão, por exemplo, uma lista
de emails na ordem por dominio para facilitar o envio por smtp e reduzir o
tempo de despacho. Nesse caso teria de fazer um reverse no campo 'site'
para que os .com, .com.br, ... estivessem na ordem adequada.
Então não há uma resposta para a sua pergunta, ela depende da experiencia
com o banco e do bom senso dos idealizadores, mas na minha experiencia,
indices cadastrais faz mais sentido um indice para cada campo como cnpj,
cpf, descricao, etc... mas para resolver problemas como consolidar
resultados, faz mais sentido serem compostos porque a necessidade de ficar
em loops ou loops dentro de loops usando a ordem dos campos que estão no
indice da esquerda para a direita dá uma vultuosa performance ao processo.
Um sistema de SESMT que desenvolvi usa e abusa de indices compostos porque
calculos com datas, isto é, dias uteis, feriados, férias, licenças,... se
misturam e o calculo de tempo de uso de um EPI deve levar tudo em
consideração. Foi um dos maiores desafios que já peguei porque matar a
performance de um banco com os problemas que peguei era muito facil.

[]´s e boa sorte.



Em 1 de outubro de 2017 19:35, Marcelo - MK Softwares <
marcelo em mksoftwares.com.br> escreveu:

> Pessoal pensando nas melhores nas melhores práticas para normalização do
> banco de dados, qual o melhor meio pra criar os índices para os campos?
> Obs. Digo melhor meio, mas o principal fator é a performance
>



Mais detalhes sobre a lista de discussão lista