2008/3/9 Ribamar Sousa <[EMAIL PROTECTED]>: > Em 09/03/08, Euler Taveira de Oliveira<[EMAIL PROTECTED]> escreveu: > > > Ribamar Sousa wrote: > > Ugh? Nos dois casos acima ele irá utilizar o mesmo plano de execução; a > > não ser que tu favoreça o 'indexscan', ele irá utilizar o 'seqscan' pois > > o uso de índice é inútil ao fazer uma varredura total ou quase que total > > sobre uma tabela. > > No caso a varredura está sendo total. > Bem, apenas estou querendo testar a eficiência de índices. Achei > interessante pegar uma tabela com uma boa quantidade de registos para > causar um impacto maior, mas apenas trarei, no caso, os ceps where uf > = 'ce'.
Nao sei se voce entendeu que se tu fazes um count() na tabela inteira, tu NAO ESTAS USANDO INDICE NENHUM. Consequentemente tu nao estas testando eficiencia de nada ao fazer um count() sem condicao nenhuma. Se voce prestou atencao no EXPLAIN das consultas nas tableas com e sem indice, a diferenca foi brutal: Seq Scan on cep_full (cost=0.00..33254.51 rows=1 width=71) Index Scan using cep_pk on cep_full_index (cost=0.00..8.37 rows=1 width=71) Ou seja, na tabela sem indice vai demorar 33254 paginas de disco para terminar a consulta, enquanto que na tabela com indice vai demorar apenas 8 paginas. Isso sim e' testar a eficiencia dos indices. Roberto _______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
