Atualmente estou trabalhando com extração e transformação de dados porem tenho que trabalha com fonte de dados muitos grandes e que nunca são alteradas.
As vezes tenho que consulta um mesmo volume de dados varias vezes no dia muitas vezes vários dias, pensando em melhorar a performance das query que não mudam estou transformando varias tabelas em uma única tabela por exemplo:
select * from tabela1 t1 inner join tabela2 t2 on t2.coluna1 = t1.coluna1 where t1.coluna2 is not null
estou pegando o resultado e transformando em uma única tabela no caso ficaria tm_t1_t2 assim quando for busca os dados não preciso fica fazendo uniões só faço
select * from tm_t1_t2
foi uma estratégia que pensei não sei ser é melhor mais melhorou um pouco a performance porem estou achando que continua lento ainda.
Tem ideia de como melhorar essas performances dessas consultas.
Detalhes
Tenho SSD
Não estou usando índice nessa tabela intermediário, não é feito união com outras tabelas
Memória esta trabalhando em média 72% a 84% notebook 8G
CPU trabalhando em 40% Processador i5 10º geração
banco de dados Atual é MySQL, as vezes utilizo outros bancos como Firebird, SQL Server etc.. sempre relacional
Não tenho experiência com banco normalizado, qualquer coiso estudo ser for o caso.
Tem casos em que chega gasta 5 horas para terminar uma consulta.
Depois que crio esta tabela intermediaria não aplico nenhum join where, ou outro tipo de filtro ou função.
Pergunta
master php
Olá pessoal tudo bem.
Atualmente estou trabalhando com extração e transformação de dados porem tenho que trabalha com fonte de dados muitos grandes e que nunca são alteradas.
As vezes tenho que consulta um mesmo volume de dados varias vezes no dia muitas vezes vários dias, pensando em melhorar a performance das query que não mudam estou transformando varias tabelas em uma única tabela por exemplo:
select * from tabela1 t1 inner join tabela2 t2 on t2.coluna1 = t1.coluna1 where t1.coluna2 is not null
estou pegando o resultado e transformando em uma única tabela no caso ficaria tm_t1_t2 assim quando for busca os dados não preciso fica fazendo uniões só faço
select * from tm_t1_t2
foi uma estratégia que pensei não sei ser é melhor mais melhorou um pouco a performance porem estou achando que continua lento ainda.
Tem ideia de como melhorar essas performances dessas consultas.
Detalhes
Tenho SSD
Não estou usando índice nessa tabela intermediário, não é feito união com outras tabelas
Memória esta trabalhando em média 72% a 84% notebook 8G
CPU trabalhando em 40% Processador i5 10º geração
banco de dados Atual é MySQL, as vezes utilizo outros bancos como Firebird, SQL Server etc.. sempre relacional
Não tenho experiência com banco normalizado, qualquer coiso estudo ser for o caso.
Tem casos em que chega gasta 5 horas para terminar uma consulta.
Depois que crio esta tabela intermediaria não aplico nenhum join where, ou outro tipo de filtro ou função.
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.