Boa tarde a todos...

>
>     Pois bem, alguém poderia, por favor, me explicar porque a consulta A usa 
> índice e a B não?

Você não devieria concluir que este tipo de consulta (B) sempre
ocorrerá sem o uso de índices, pois com este universo muito pequeno de
dados realmente é mais rápido ir direto na tabela. Os índices são
usados principalmente nas cláusulas where, coisa que não foi usada em
"B".
Mesmo que você dê uma carga maior, a consulta "B" possivelmente irá
usar sequence scan por não ter cláusula where. No caso de "A" acredito
que o ídice é utilizado exatamente por que para cada registro de "A" é
feita uma busca em "B" (não examinei o explain).
Com uma carga maior aposto que a consulta "B" será mais rápida que
"A", principalmente se houver uma cláusula where em "B".

>
>     Outra perguntinha, há alguma forma de obrigar o uso do índice da chave 
> primária( usuario_pk ) na consulta B ( usando INNER JOIN )?

Você pode tentar o seguinte:

SET enable_seqscan TO OFF;


Grande abraço
Nos vemos no pgDay DF
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a