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...
Pergunta
inavoig.17
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:
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 KakaoLink 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.