Em 24 de outubro de 2012 20:53, Tiago Adami <[email protected]> escreveu:
> Em 24 de outubro de 2012 20:36, Danilo Silva > <[email protected]> escreveu: > > Pessoal, > > > > Eu sei que não devemos criar índices desnecessariamente, mas eu tenho uma > > tela de consulta onde é possível efetuar a consulta por qualquer campo, > ou > > seja, os campos não são obrigatórios, pelo menos um deve ser preenchido. > > > > Se eu criar, por exemplo um índice para cada campo, quais problemas > poderia > > ter? Ou teria apenas a questão de espaço em disco? > > > > Como o PostgreSQL trataria a consulta com vários índices criados? > > Criar muitos índices pode causar um atraso considerável na atualização > da tabela (INSERT / UPDATE / DELETE) à medida que os índices precisam > incluir as novas chaves. > PUTZ é mesmo, tinha esquecido desse detalhe. > > O menor dos seus problemas será na consulta. O otimizador irá > considerar apenas os índices referenciados pelas colunas que você > informou nas cláusulas WHERE e/ou ORDER BY e irá escolher o melhor > baseado nas estatísticas existentes. > OK, foi o que eu estava imaginando. > > Eu diria para você forçar o uso de uma ou duas colunas na consulta, > preferencialmente atributos cronológicos como um campo de data e > outros que possam ter algum agrupamento lógico (como departamento, > produto, etc). Assim você pode criar os índices para estas colunas > inicialmente e depois avaliar o resultado. > O jeito será forçar o usuário a preencher alguns campos. []s Danilo
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
