On 21-02-2014 13:22, Flávio Granato wrote:
On 21-02-2014 13:16, Lucio Chiessi [VORio] wrote:
Eu também te recomendaria a 2ª opção, para que não tenhas que excluir
informações do seu banco que podem ser necessárias no futuro.
Tirar (entenda-se excluir) não significa apagar ou ficar inacessível.
Pode até ficar em outro repositório de dados, "se" são somente dados
históricos e não necessários para as atuais consultas...
Danilo,
Além dos comentários, extremamente válidos dos amigos, vc poderia
avaliar uma 3a opção, visto que seu problema é *melhorar desempenho*. A
opção a considerar seria *índices parciais* [1].
Não que eu seja contra ao particionamento de tabelas (uso bastante), mas
é que precisa ser bem pensado porque no PostgreSQL temos algumas limitações:
* as partições não são criadas dinâmicamente, vc precisa criar um
mecanismo pra isso
* cuidado com as PKs, pois como vc terá várias *tabelas* separadas o
PostgreSQL vai garantir a unicidade somente *por partição*, e não de
forma global para todas partições
* se vc tem tabelas que fazem FK com a tabela que vc quer particionar,
dai vc terá trabalho extra, pois para garantir a restrição vc terá que
particioná-la também ou implementar triggers que simulem o seu
comportamento (trabalhoso mas funciona)
* já foi mencionado que deve escolher *muito bem* a chave do
particionamento, porque se vc nao fizer bem poderá ter problemas depois
Espero ter ajudado.
Att,
[1] http://www.postgresql.org/docs/current/static/indexes-partial.html
--
Fabrízio de Royes Mello 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