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

Reply via email to