2013/8/4 lucas . <lucasouz...@hotmail.com> > Ola gente, tenho uma dúvida. > > Usando esta consulta > > SELECT * > > FROM Auth, Publ > > WHERE Auth.pubID = Publ.pubID AND Auth.nome = 'Surajit Chaudhuri' > > > > índices primários sobre Auth.pubID e Publ.pubID e índice secundário sobre > Auth.nome. > > > O algoritmo escolhido pelo postgre sera o Nested loop. Entendo que ele faz > esta escolha pelo fato da seleção ser feita antes da junção dessa forma o > desempenho da junção será melhor com o nested. Confirma? > > > Em geral, o PostgreSQL tende a usar o "nested loop" quando está trabalhando com um conjunto pequeno de dados (pelo menos dos vindos da tabela da direita), mas veja que a definição de "pequeno" vai depender dos custos definidos. Nesse caso o filtro em "Auth.nome" pode sim explicar essa escolha. Poste o resultado do seguinte comando para te darmos uma resposta mais certeira:
ANALYZE Auth; ANALYZE Publ; EXPLAIN ANALYZE SELECT * FROM Auth, Publ WHERE Auth.pubID = Publ.pubID AND Auth.nome = 'Surajit Chaudhuri' > E outra dúvida, no pgadmin aonde que eu posso olhar a PEC da consulta? > > PEC seria o quê? Plano de execução? Acho que ele tem um botão para executar e mostrar, mas você também pode usar o EXPLAIN (como acima). Atenciosamente, -- Matheus de Oliveira Analista de Banco de Dados Dextra Sistemas - MPS.Br nível F! www.dextra.com.br/postgres
_______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral