Ir para conteúdo
Fórum Script Brasil
  • 0

Melhorar performance consulta


inavoig.17

Pergunta

Olá, bom dia.

Estou com problemas em uma consulta que está muito lenta. Gostaria de ajuda para melhorar a performance desta

consulta.

Segue abaixo minha consulta:

======================================= SELECT PRINCIPAL ===================================
/* Parte de uma tabela de com itens (tabela com bastante registros) e faz um inner join com uma viewer para retornar a movimentação dos ultimos 3 meses */

SELECT
tmp.tmp_id_produ_refer,
mov.qt_movim,
mov.date_part
FROM
tmp_dados AS tmp
INNER JOIN
vrj.view_retorna_qtde_vendida_ultimos_tres_meses AS mov
ON
mov.id_unida = p_id_unida
AND
mov.id_produ_refer = tmp.tmp_id_produ_refer;

======================================= VIEWER PARA RETORNAR MOVIMENTACAO ===================================
/*Viewer para retornar as movimentacoes, essas viewer faz consulta em uma tabela com uma massa de informações muito grande, fazendo inner join com tabelas que também tem bastante conteúdo */

CREATE OR REPLACE VIEW vrj.view_retorna_qtde_vendida_ultimos_tres_meses AS
SELECT
doc.id_unida,
mov.id_produ_refer,
SUM(mov.qt_movim) AS qt_movim,
EXTRACT(MONTH FROM (mov.dt_movim :: DATE))
FROM
vrj.tb_movim_locac AS mov /*Tabela de movimentações, tabela com muitos registros */
INNER JOIN
vrj.tb_item_doc_fiscal AS ite /*Tabela com muitos registros */
ON
ite.id_item_doc_fiscal = mov.id_item_doc_fiscal
INNER JOIN
vrj.tb_doc_fiscal AS doc /*Tabela com muitos registros */
ON
ite.id_doc_fiscal = doc.id_doc_fiscal
INNER JOIN
vrj.tb_tipo_fatur AS tft /*Tabela com poucos registros */
ON
tft.id_tipo_fatur = doc.id_tipo_fatur
AND
tft.cd_tipo_fatur = 'VD' -- Fixo para trazer somente NF de venda
WHERE
doc.dt_cancel is null
AND
DATE(mov.dt_movim) >= (date_trunc('MONTH',CURRENT_DATE-interval '3 MONTH')::date)
GROUP BY
doc.id_unida,
mov.id_produ_refer,
EXTRACT(MONTH FROM (mov.dt_movim :: DATE));
Se possivel gostária que fizessem uma análise dessa proceudure e me dissesem o que acham, se tem como melhorar,

se o conceito aplicado está bom. Gostaria de dicas, novas tecnologias, coisas do tipo...

Obrigado desde já

Editado por Kakao
Link para o comentário
Compartilhar em outros sites

1 resposta 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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...