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

Responder a