none
Desvantagens utilizando CTE RRS feed

  • Pergunta

  • Pessoal

        Vendo as facilidades e recursos que oferece o CTE (Common Table Expression), fique com dúvida em saber qual seria a desvantagens em utilizar este recurso, e até que ponto posso utilizar este recurso, pensando até mesmo na questão da performance, pois tem tantas possibilidade que derepente, posso estar utilizando ele de forma incorreta ?

    sexta-feira, 14 de março de 2014 14:55

Respostas

  • Junior

         Sua explicação foi muito boa, até chegar no último ponto, onde gostaria da sua confirmação :

    Neste caso, quem é mais rápido a memória ou o disco?

    Nei,

    A memória sempre será mais rápida do que o acesso em disco, isso é um fato por que os dados já estão carregados e endereçados para consulta, não ocorrendo o I/O.

    Se ajudou na sua solução, não esqueça de marcar como resposta !

    Abraços,

    Durval Ramos
    Microsoft Partner | MTA | MCSA - SQL Server 2012 | MCSE - Data Platform
    ----------------------------------
    Se foi resolvido clique "Marcar como resposta" e se foi útil "Votar como Útil"
    quinta-feira, 8 de maio de 2014 19:34
    Moderador
  • Neibala,

    O CTE foi uma funcionalidade adicionada no SQL Server 2005 em diante, sua função é permitir criar uma mecanismo em tempo de execução que seja capaz de se auto relacionar, como também, oferecer funcionalidades no que diz respeito a junção de dados que antes não estavam presentes no SQL Server.

    Em relação a performance é algo muito restrito se comparado com uma view, pois a CTE trabalha com os dados e tabelas, mas criando um tempo de execução um repositório virtual.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]

    sexta-feira, 14 de março de 2014 17:43

Todas as Respostas

  • Neibala,

    O CTE foi uma funcionalidade adicionada no SQL Server 2005 em diante, sua função é permitir criar uma mecanismo em tempo de execução que seja capaz de se auto relacionar, como também, oferecer funcionalidades no que diz respeito a junção de dados que antes não estavam presentes no SQL Server.

    Em relação a performance é algo muito restrito se comparado com uma view, pois a CTE trabalha com os dados e tabelas, mas criando um tempo de execução um repositório virtual.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]

    sexta-feira, 14 de março de 2014 17:43
  • Junior

    Pegando está questão do repositório virtual e comparando com tabelas temporaria, que seja o caso mais simples, em qual teria melhor desempenho e performance ?

    sexta-feira, 14 de março de 2014 21:53
  • Neibala,

    Cara a questão é simples, a table temporária por mais que ela seja temporária e vai existir logicamente no banco de dados que você criou, mas fisicamente no TempDB.

    Já a CTE ela nunca vai existir fisicamente somente logicamente dentro da sessão que esta fazendo uso da mesma.

    Neste caso, quem é mais rápido a memória ou o disco?


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]

    quarta-feira, 19 de março de 2014 13:42
  • Junior

         Sua explicação foi muito boa, até chegar no último ponto, onde gostaria da sua confirmação :

    Neste caso, quem é mais rápido a memória ou o disco?

    quarta-feira, 19 de março de 2014 18:58
  • Junior

         Sua explicação foi muito boa, até chegar no último ponto, onde gostaria da sua confirmação :

    Neste caso, quem é mais rápido a memória ou o disco?

    Nei,

    A memória sempre será mais rápida do que o acesso em disco, isso é um fato por que os dados já estão carregados e endereçados para consulta, não ocorrendo o I/O.

    Se ajudou na sua solução, não esqueça de marcar como resposta !

    Abraços,

    Durval Ramos
    Microsoft Partner | MTA | MCSA - SQL Server 2012 | MCSE - Data Platform
    ----------------------------------
    Se foi resolvido clique "Marcar como resposta" e se foi útil "Votar como Útil"
    quinta-feira, 8 de maio de 2014 19:34
    Moderador