On 14-06-2013 13:45, Douglas Fabiano Specht wrote: > a PK por default é clusterizada, > PK clusterizada? Tabelas podem ser agrupadas de acordo com uma ordem (aka "clusterizadas"); índices tem a sua ordem natural.
Você não pode garantir que tabelas permaneçam agrupadas por padrão por causa do MVCC. > Recomendação é deixar sempre do mais restritivo para o menos restritivo, > logo o correto ao meu ver é ID_VENDA, ID_EMPRESA. > Cuidado! Você deve levar em conta *todas* as consultas realizadas na referida tabela. Se ID_EMPRESA aparece em todas as consultas é melhor deixar com que o índice da chave primária seja ID_EMPRESA, ID_VENDA; caso contrário, você terá que criar um outro índice somente com uma das colunas para acelerar consultas que utilizam somente a referida coluna. > pois se vc precisar ir ate o id_venda =876, ele irá praticamente direto, > agora se for o contrario, ele ira varrer todo o ID_EMPRESA primeiro, > para depois ir no ID_VENDA. > Isso nem sempre é verdade; você deve considerar (repetindo...) *todas* as consultas que utilizam tal tabela. O otimizador é mais esperto do que parece. ;) O ideal é fazer a modelagem e depois da concepção revisar essas coisas. Não se esqueça que otimização precoce é a raiz de todo mal. -- Euler Taveira Timbira - http://www.timbira.com.br/ PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento _______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
