Em 2 de dezembro de 2011 18:19, Euler Taveira de Oliveira <eu...@timbira.com > escreveu:
> 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. Obrigado! eu não tinha esta informação. Na empresa que trabalho utilizo muito o Firebird, e ai tenho que criar um indice para cada relacionamento, segundo andei lendo (posso estar equivocado), ele nao é inteligente o suficiente para escolher o indice correto. Abraços, -- Moisés P. Sena (Analista e desenvolvedor de sistemas WEB e mobile) http://www.moisespsena.com http://linux.moisespsena.com
_______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral