Tenho dois projetos onde estou com essa mesma dúvida.
Em ambos os bancos, possuo tabelas CAPA_VENDA e outra ITEM_VENDA.
Ambos projetos possuem no minimo 20 colunas de dados OBRIGATORIOS em cada tabela com mais de 20 milhões de linhas.
O que seria mais performático?
1. Criar uma view somente com os dados que preciso entre as duas.
(o que resultaria em uma view com no minimo 40 colunas extremamente pesada gerando muitos dados duplicados da capa da venda).
Exemplo: VW_VENDAS (realizar os joins entre as tabelas)
2. Criar views de cada tabela somente com os dados que preciso e criar uma key entre as duas para o relacionamento.
(o que resulta em views com menos dados duplicados, porem, com uma key "consideravel", seria algo como: "1253609072021154773569". Lembrando que essa key sera repetida em todas as linhas da VW_CAPA e VW_ITEM, o que também não deixa de tornar o relatorio pesado.
Exemplo: VW_CAPA e VW_ITEM
Observações: Já fiz o teste em ambos os casos.
Pelo método 1 a atualização dos dados demora extremamente mais que no caso 2. Em uma consulta normal estava levando algo em torno de 2 a 3 horas.
Porem, o tamanho do PBIX ficou algo 60% menor que no caso 2.
Pelo método 2, a atualização ficou muito mais rapida, levando no máximo 10-15 minutos.
Porem, o tamanho do PBIX ficou consideravelmente maior devido as "keys" para o relacionamento das tabelas.
O que vocês me recomendam fazer? Estou com uma base aqui de aprox 190 milhões de linhas para trabalhar e preciso resolver isso.
Pergunta
gustavofill
Boa tarde!
Tenho dois projetos onde estou com essa mesma dúvida.
Em ambos os bancos, possuo tabelas CAPA_VENDA e outra ITEM_VENDA.
Ambos projetos possuem no minimo 20 colunas de dados OBRIGATORIOS em cada tabela com mais de 20 milhões de linhas.
O que seria mais performático?
1. Criar uma view somente com os dados que preciso entre as duas.
(o que resultaria em uma view com no minimo 40 colunas extremamente pesada gerando muitos dados duplicados da capa da venda).
Exemplo: VW_VENDAS (realizar os joins entre as tabelas)
2. Criar views de cada tabela somente com os dados que preciso e criar uma key entre as duas para o relacionamento.
(o que resulta em views com menos dados duplicados, porem, com uma key "consideravel", seria algo como: "1253609072021154773569". Lembrando que essa key sera repetida em todas as linhas da VW_CAPA e VW_ITEM, o que também não deixa de tornar o relatorio pesado.
Exemplo: VW_CAPA e VW_ITEM
Observações: Já fiz o teste em ambos os casos.
Pelo método 1 a atualização dos dados demora extremamente mais que no caso 2. Em uma consulta normal estava levando algo em torno de 2 a 3 horas.
Porem, o tamanho do PBIX ficou algo 60% menor que no caso 2.
Pelo método 2, a atualização ficou muito mais rapida, levando no máximo 10-15 minutos.
Porem, o tamanho do PBIX ficou consideravelmente maior devido as "keys" para o relacionamento das tabelas.
O que vocês me recomendam fazer? Estou com uma base aqui de aprox 190 milhões de linhas para trabalhar e preciso resolver isso.
Agradeço desde já.
Link para o comentário
Compartilhar em outros sites
11 respostass a esta questão
Posts Recomendados
Faça login para comentar
Você vai ser capaz de deixar um comentário após fazer o login
Entrar Agora