Olá Fabrízio, > Eu entendo... vc chega a monitorar se todos índices são realmente utilizados > pelo postgresql?
Não, não monitorei o uso a nível de índices. Meus testes preliminares e o relato de vários usuários relatando a clara diferença do antes e depois me bastaram. Estou certo de que nem todos os índices são usados, especialmente em tabelas pequenas, mas o critério de criar até que atrapalhe rende muito mais dividendos do que esperar o cliente berrar para criar. Até no caso mais pessimista de 50 índices numa tabela, a perda pela manutenção desse monte de índices se paga com folga pelo ganho de desempenho que o uso de pelo menos um deles já proporciona. Tem também o caso dos índices que simplesmente transcrevemos para todos os clientes por causa das sugestões dos assistentes do SQL Server ou do Oracle, que usam os índices de maneira infinitamente mais eficiente. Fazemos isso para manter todos usando um modelo único e também porque há a expectativa de que cedo ou tarde o otimizador aprenda a usar os índices decentemente quando atualizarmos a versão do banco ou quando a distribuição dos dados torne as estatísticas mais interessantes para o otimizador. Se não usar, paciência, que o índice fique lá ocupando espaço até que alguém reclame que ele está comprometendo o desempenho. > A diferença pelo que percebi na sua abordagem em relação a minha é que evito > índices compostos... Nossa modelagem é cheia de tabelas com chaves naturais, cada qual com vários filhos. Em casos que sabemos que o volume será grande, apelamos para chaves artificiais, porém nem sempre o ganho com o uso de chaves compensa o esforço *de programação e especificação* envolvidos. Outra questão é que em alguns casos os campos da chave composta são úteis para exibição, junções e pesquisas na própria tabela filha (quando me poupa de fazer JOIN com a tabela pai), então nestes casos criar uma chave artificial poderia ser até contraproducente. Chaves compostas estragam o desempenho dos índices em qualquer caso, porém são requisitos do negócio que não podemos ignorar. O que me resta é aproveitar o que os índices proporcionam da melhor forma possível. Atenciosamente, Mozart Hasse _______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
