none
Consultas Recursivas RRS feed

  • Pergunta

  • Estamos em dúvida quanto a consultas recursivas

    em grande voilume de dados

    li a respeito que para performance seria melhor evitar sql recursivas.

    Obrigado

    sexta-feira, 31 de janeiro de 2014 12:11

Respostas

  • Olá,

         Realmente consultas recursivas consomem muitos recursos. Agora, não devemos tratar isso com radicalizmo e evitar "cegamente"... Estaríamos desperdiçando uma excelente ferramenta do SQL.

         O que voce precisa avaliar é se você vai fazer uma consulta muito grande e os índices que apoiam essa consulta... Imagine que a sua consulta recursiva retorna os subordinados de um determinado gerente, digamos 20 pessoas. o resultado será (provavelmente) 20 linhas e o filtro excelente (por um determinado gerente). Agora se você quiser retornar todos os gerentes da sua empresa (digamos uns 1000 ou mais) com 20 pessoas subordinadas... o seu retorno seria de no mínimo 20000 linhas... Será que isso seria ruim para performance?!?!?! Provavelmente SIM!!! Por isso, avalie o plano de execução, e os índices das tabelas envolvidas e o melhor filtro possível para garantir uma boa performance.


    Roberto Fonseca MCT / MCITP - Database Administrator 2008 MCITP - Database Developer 2008 MCITP - Business Intelligence 2008

    sexta-feira, 31 de janeiro de 2014 14:51
    Moderador
  • Deleted
    • Marcado como Resposta jceoms sexta-feira, 31 de janeiro de 2014 18:30
    sexta-feira, 31 de janeiro de 2014 18:24

Todas as Respostas

  • Olá,

         Realmente consultas recursivas consomem muitos recursos. Agora, não devemos tratar isso com radicalizmo e evitar "cegamente"... Estaríamos desperdiçando uma excelente ferramenta do SQL.

         O que voce precisa avaliar é se você vai fazer uma consulta muito grande e os índices que apoiam essa consulta... Imagine que a sua consulta recursiva retorna os subordinados de um determinado gerente, digamos 20 pessoas. o resultado será (provavelmente) 20 linhas e o filtro excelente (por um determinado gerente). Agora se você quiser retornar todos os gerentes da sua empresa (digamos uns 1000 ou mais) com 20 pessoas subordinadas... o seu retorno seria de no mínimo 20000 linhas... Será que isso seria ruim para performance?!?!?! Provavelmente SIM!!! Por isso, avalie o plano de execução, e os índices das tabelas envolvidas e o melhor filtro possível para garantir uma boa performance.


    Roberto Fonseca MCT / MCITP - Database Administrator 2008 MCITP - Database Developer 2008 MCITP - Business Intelligence 2008

    sexta-feira, 31 de janeiro de 2014 14:51
    Moderador
  • obrigado, foi muito esclarecedor

    onde posso achar um material em portugues para entender 

    o gráficos do plano de execução?

    sexta-feira, 31 de janeiro de 2014 16:38
  • Deleted
    • Marcado como Resposta jceoms sexta-feira, 31 de janeiro de 2014 18:30
    sexta-feira, 31 de janeiro de 2014 18:24