Estou em um designer de banco de dados em um ambiente de data warehouse. Estou acostumado a lidar com tabelas com no máximo 1 milhão de linhas e agora me deparo com tabelas com mais de meio bilhão de linhas. Existem diferenças significativas com as ferramentas da "caixa de ferramentas de eficiência"? Posso confiar em meu conhecimento anterior de índices, partições e afins ou algumas dessas ferramentas específicas são mais um obstáculo do que uma ajuda com dados tão grandes? Alguma outra dica para lidar com as tabelas?
(Já encontrei um ótimo post sobre como atualizar 700 milhões de linhas para o mesmo valor )
Os fundamentos da indexação, etc., funcionam exatamente da mesma maneira, portanto, estritamente falando, a única diferença é o custo de errar!
Dito isso, aqui está uma lista (não necessariamente completa) de coisas que vale a pena ter em mente:
estimate_percent
ao coletar estatísticas para que menos da tabela seja amostrada.Se você ainda não está familiarizado com a leitura e a compreensão dos planos de execução, eu gastaria algum tempo aprendendo isso: você pode ter problemas de desempenho em algum momento, então saber como diagnosticar o problema corretamente se tornará mais importante, pois é mais difícil adicionar novos índices ou fazer alterações de esquema quando suas contagens de linhas forem maiores.
A quantidade tem uma qualidade própria.
Ao lidar com tabelas desse tamanho, ajuda não pensar na tabela de fatos como uma tabela, mas pensar nela no nível do segmento ou como uma coleção de tabelas discretas. (Ter idade suficiente para lembrar o particionamento do meu próprio com exibições de partição ajuda.)
O papel Scaling to Infinity de Tim Gorman é um recurso inestimável.