Usuário com melhor resposta
Desvantagens utilizando CTE

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 ?
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 RamosMicrosoft Partner | MTA | MCSA - SQL Server 2012 | MCSE - Data Platform---------------------------------- Se foi resolvido clique "Marcar como resposta" e se foi útil "Votar como Útil"- Sugerido como Resposta Edinaldo Junior quinta-feira, 8 de maio de 2014 20:01
- Marcado como Resposta Durval RamosModerator sexta-feira, 20 de junho de 2014 02:02
-
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]
- Sugerido como Resposta Edinaldo Junior quinta-feira, 8 de maio de 2014 20:01
- Marcado como Resposta Durval RamosModerator sexta-feira, 20 de junho de 2014 02:02
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]
- Sugerido como Resposta Edinaldo Junior quinta-feira, 8 de maio de 2014 20:01
- Marcado como Resposta Durval RamosModerator sexta-feira, 20 de junho de 2014 02:02
-
-
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]
-
-
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 RamosMicrosoft Partner | MTA | MCSA - SQL Server 2012 | MCSE - Data Platform---------------------------------- Se foi resolvido clique "Marcar como resposta" e se foi útil "Votar como Útil"- Sugerido como Resposta Edinaldo Junior quinta-feira, 8 de maio de 2014 20:01
- Marcado como Resposta Durval RamosModerator sexta-feira, 20 de junho de 2014 02:02