Então não estou julgando que seja pelo indice. Estou dizendo que pelo PEC a seleção é feita primeiro diminuindo o numero de junções possiveis. Dessa forma, o nested loop é uma escolha melhor
Att,Lucas José Duarte de SouzaBacharelando em Ciência da ComputaçãoUniversidade Federal de Lavras. > Date: Sun, 4 Aug 2013 19:30:27 -0300 > From: osvaldo.kuss...@gmail.com > To: pgbr-geral@listas.postgresql.org.br > Subject: Re: [pgbr-geral] duvida de uma consulta > > Em 04/08/13, lucas .<lucasouz...@hotmail.com> escreveu: > > Ola gente, tenho uma dúvida. > > > > Usando esta consulta > > > > SELECT *FROM Auth, PublWHERE 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? > > E outra dúvida, no pgadmin aonde que eu posso olhar a PEC da consulta? > > > > > Para saber o plano de execução da consulta rode um EXPLAIN [1]. > Certifique-se de que as estatísticas de seu banco estejam atualizadas > (rode um ANALYZE [2]). > > Não é o simples fato de existir um índice que fará com que seu uso > seja considerado a solução mais econômica. > > Se desejar forçar a junção faça: > SELECT * FROM > Auth INNER JOIN Publ ON(Auth.pubID = Publ.pubID) > WHERE Auth.nome = 'Surajit Chaudhuri'; > > Osvaldo > > [1] http://www.postgresql.org/docs/current/interactive/sql-explain.html > [2] http://www.postgresql.org/docs/current/interactive/sql-analyze.html > _______________________________________________ > pgbr-geral mailing list > pgbr-geral@listas.postgresql.org.br > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
_______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral