paulo matadr escreveu: > Existe alguma forma no postgres de forca o uso de um indice particular, > do tipo eu tenho 3 indices semelhantes e a,b e c. > eu queria que apenas o C fosse usado pra uma query especifica. > Lembro que no oracle,usa-se hints.E no nosso querido postgres ? > O planejador geralmente faz a coisa certa; não tente ser mais experto do que ele. É claro, que há casos em que ele não é experto o suficiente. Então, se o PostgreSQL não escolheu o índice que você queria é porque (i) ele julgou que o índice escolhido é aquele que contém um custo menor ou (ii) o seu julgamento estava errado.
Sem olhar um EXPLAIN ANALYZE e a estrutura das tabelas e índices envolvidos na consulta fica difícil dizer algo. É como o Fábio disse, _hints_ são _gambiarras_ para quem *não* quer corrigir o planejador. Além disso, eles podem dar um certo poder de julgamento (às vezes, errado -- caso clássico é utilizar _indexscan_ ao invés de _seqscan_ em que a consulta precisa varrer toda ou quase toda tabela) para o desenvolvedor. O PostgreSQL prefere melhorar o planejador do que adicionar gambiarras para escolha de outros planos de execução. Por fim, se você tem índices semelhantes é muito provável que você não precise de algum deles. -- Euler Taveira de Oliveira http://www.timbira.com/ _______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
