On 02-12-2011 17:05, Moisés P. Sena wrote: > Criei todos os meus relacionamentos usando ALTER TABLE ADD CONSTRAINT ... > sendo que a coluna referenciada é CHAVE PRIMARIA da tabela estrangeira. > Mesmo assim vou ter que criar os indices manualmente? > Não confunda as coisas. Só porque estamos falando de "chave" estrangeira não significa que devemos ter índice. No caso de junção entre duas tabelas foo e bar, se bar referencia foo, ou seja, bar tem uma chave estrangeira para foo, o otimizador vai ser esperto o suficiente para usar o índice da tabela referenciada (foo); sendo assim, *não* precisamos de índice em bar.
Índices em tabelas que referenciam outras são necessários, quando *não* utilizamos uma junção com a tabela referenciada e estamos utilizando o campo da chave estrangeira na cláusula WHERE. Isso nem sempre é uma máxima em todos os modelos, então tome cuidado ao sair criando um monte de índices inúteis na sua base de dados. O melhor a fazer é avaliar as consultas e saber se alguma delas se encaixa no critério descrito neste parágrafo. -- Euler Taveira de Oliveira - Timbira http://www.timbira.com.br/ PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento _______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral