Em 11 de março de 2016 16:46, Vinícius Aquino do Vale <aquino.v...@gmail.com> escreveu: > Olá Danilo, > > Existe diferenças sim. > > Dê uma olhada neste post, para entender melhor a situação e o uso de índices > compostos.
Este artigo que o Vinicius lhe recomendou já poderá lhe dar uma boa ideia de como funciona o SGBD em relação aos índices. Pode haver diferenças de desempenho significativas entre uma forma e outra (me referindo ao tipos descritos pelo OP). Cito 3 principais itens que interferem no desempenho dos índices: 1) a quantidade de distinções de um campo em relação às linhas. Em outras palavras, quantas vezes o valor muda ao longo de todos os registros; 2) a ordem dos campos no índice: (campo1,campo2) ou (campo2,campo1); 3) as colunas utilizadas na consulta SQL. Se apenas os campos do índice estiverem em uma consulta o acesso será "index only", sem a necessidade de fazer um fetch adicional nos dados da tabela. Em alguns casos é recomendável incluir um campo no índice - no final da lista de colunas - para proporcionar um acesso "index only". Bônus: Já ia me esquecendo da clausula WHERE [1] nos índices do PostgreSQL, que é fantástica! Nela você pode definir um predicado de consulta específico que o PostgreSQL trata de forma indexada. Em determinadas situações isto pode salvar vidas! :) [1] http://www.postgresql.org/docs/current/static/sql-createindex.html TIAGO J. ADAMI http://www.adamiworks.com @tiadami _______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral