Re: [pgbr-geral] Indicar o Indíce

2008-03-13 Por tôpico Leandro DUTRA
2008/3/13, [EMAIL PROTECTED] [EMAIL PROTECTED]:
  tbl_lista_basica tem o campo produto em que está indexado e tem a foreign
  key com a tabela tbl_produto, mas quando eu dou um join entre eles faz por
  seq scan?

Se o volume de dados for pequeno, normal.

Há muito mais entre o otimizador e o plano de execução do que imagina
vossa vã filosofia...

-- 
skype:leandro.gfc.dutra?chat  Yahoo!: ymsgr:sendIM?lgcdutra
+55 (11) 3040 7300 r155 gTalk: xmpp:[EMAIL PROTECTED]
+55 (11) 9406 7191ICQ/AIM: aim:GoIM?screenname=61287803
+55 (11) 5685 2219MSN: msnim:[EMAIL PROTECTED]
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Indicar o Indíce

2008-03-13 Por tôpico Evandro Ricardo Silvestre
[EMAIL PROTECTED] wrote:
 Meio milhão de registros :D
 Ou seja o otimizador tá louco ou eu
Pode ser que seja você =D.
Veja, o otimizador escolhe o melhor plano para a consulta. Caso você 
tenha que ler todos os registro da tabela para ter o retorno da 
consulta, o otimizador acaba escolhendo fazer um Seq Scan que acaba 
sendo mais rapido do que um Index Scan.
Faça o seguinte, antes de executar a consulta desabilite o Seq Scan [1], 
assim ele irá utilizar apenas os indices e veja qual será o desempenho. 
Qualquer duvida procure o manual.

Não lembro muito bem aonde foi que ouvi isso, acho que foi no PGCon (se 
não me engane foi o David Fetter): O cara que criou o otimizador de 
consulta do PostgreSQL é mais inteligente que você. E pode ter certeza 
que ele é mesmo

[1] = SET enable_seqscan TO OFF;


Evandro
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Indicar o Indíce

2008-03-13 Por tôpico Osvaldo Rosario Kussama
[EMAIL PROTECTED] escreveu:
 Meio milhão de registros :D
 Ou seja o otimizador tá louco ou eu
 2008/3/13, [EMAIL PROTECTED] [EMAIL PROTECTED]:
  tbl_lista_basica tem o campo produto em que está indexado e tem a
 foreign
  key com a tabela tbl_produto, mas quando eu dou um join entre eles faz
 por
  seq scan?
 Se o volume de dados for pequeno, normal.

 Há muito mais entre o otimizador e o plano de execução do que imagina
 vossa vã filosofia...



Coloque aqui o EXPLAIN ANALYZE de sua consulta.

No PostgreSQL você não especifica qual índice usar, isto fica a cargo 
do planejador/otimizadorr.

Osvaldo
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral