none
Exists com IN lento RRS feed

  • Pergunta

  • Boa noite,

    Estou com uma consulta com lentidão, quando eu coloco o * no primeiro select ele retorna rápido.

    Acredito que possa ser duas coisas, a mistura de EXISTS e IN ou problema de indice.

    Alguém tem alguma ideia.

    SELECT tab1.ComercialID, RC.ContaID

    FROM FNW_MovimentacoesRecursos AS MR INNER JOIN

    (((tab1 INNER JOIN PRC ON tab1.ComercialID = PRC.ComercialID)

    INNER JOIN RC ON tab1.ComercialID = RC.ComercialID)

    INNER JOIN CNT ON CNT.ContaID = RC.ContaID) ON MR.MovimentacaoID = PRC.MovimentacaoID

    WHERE (MR.DataLancamento >= '2014-10-01') AND (MR.DataLancamento <= '2014-12-31')

    AND (EXISTS (SELECT * FROM FNW_RateioSetores AS RS2 WHERE (RS2.AtributoID IN(1952,1954)) AnD

    RS2.ComercialID=tab1.ComercialID))

    Desde já agradeço



    • Editado Fábio Freitas terça-feira, 27 de janeiro de 2015 20:33 Melhorar código
    terça-feira, 27 de janeiro de 2015 20:32

Respostas

Todas as Respostas

  • Deleted
    terça-feira, 27 de janeiro de 2015 23:59
  • Bom dia Fábio

    Poderia postar o plano de execução dos dois selects?


    Att. <br/> <b>Marcelo Fernandes</b><br/> MCP, MCDBA, MCSA, MCTS, MCITP, MCT e MVP.<br/> Se Útil, classifique!!! <br/> Me siga no twitter: @marcelodba

    quarta-feira, 28 de janeiro de 2015 11:44
    Moderador
  • Fábio,

    Você já tentou quebrar este SQL em outros pequenos Select para analisar em qual dos Joins esta ocorrendo esta possível lentidão?


    Pedro Antonio Galvao Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | Professor Universitario | SoroCodigos | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]

    quarta-feira, 28 de janeiro de 2015 13:36