Angelo, > Estamos iniciando um estudo sobre estratégias para melhor > definir índices para um banco de dados.
Procure por documentações sobre melhores práticas de modelagem e construção de bancos de dados. A escolha dos índices dependerá, no mínimo, de: * como você criou suas chaves primárias; * como você criou suas chaves alternativas; * se há ou não visões materializadas; * quais consultas têm desempenho crítico na aplicação e em que ordem de prioridade. > Nossos objetivos são: > 1.. Identificar quais estratégias para definição de índices otimizados > são mais utilizadas; Defina então que critérios vai usar para dizer que uma estratégia é mais usada que outra: enquete? Pesquisa de campo em empresas de tamanho similar? Número de citações em livros? Gosto pessoal? Resultado numa aplicação específica? Vai medir se o desempenho melhorou medindo o tempo das consultas ou das atualizações? Com ou sem acessos concorrentes? Em cluster? Com replicação? O que não falta são perguntas e métricas para se concluir o que é "melhor" ou "pior", e o que quer que escolha como critério permitirá conclusões limitadíssimas quanto à qualidade de cada estratégia. > 2.. Identificar em que situações cada estratégia é mais indicada; A estratégia é o *meio*, não o fim. Qualquer estratégia é válida se resolver seu problema, e ninguém vai deixar de criar um índice ou jogá-lo fora se a aplicação funcionar "melhor" (baseado nas perguntas acima ou em muitas outras), independente de qual estratégia mande ou proíba essa ação. Não vejo nenhum motivo para adotar uma estratégia para começar a resolver um problema de desempenho com índices. Aliás, regras gerais com índices podem precisar ser desfeitas para se "ensinar" o SGBD (especialmente se for o Postgres) a chegar a uma solução satisfatória. > 3.. Avaliar se existe diferença de performance na aplicação de uma dada > estratégia em SGBDs diferentes; Se a estratégia *depender* do plano de execução da consulta, cada SGBD tem a sua porque os planos e formas de criá-los são diferentes entre os SGBDs. Se a estratégia *não depender* do plano de execução da consulta, é vaga demais para se tirar conclusões sobre seu uso ou sobre os SGBDs comparados. > 4.. Criar um tutorial, na forma de Wiki, para socializar o estudo sobre a > adoção de índices otimizados em bancos de dados livres. Veja o que te agrada digitando no google isso: sql "performance tuning" index Juntar vários casos em uma wiki até que seria útil para iniciantes, resta levantar os dados para saber como organizá-los. Boa sorte, Mozart Hasse _______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral