none
Quais os critérios para escolher entre Lazy Loading e Eager Loading? RRS feed

  • Pergunta

  • Olá!

    Gostaria que minha pergunta fosse respondida dentro deste cenário:

    1. Preciso exibir em uma tela todos os cursos feitos pelo aluno José das Candongas no período de 01/01/1900 a 31/12/3000;
    2. Preciso exibir em uma tela todos os cursos feitos pela Escola Maritima do Ar no período de 01/01/1900 a 31/12/3000;
    3. Preciso exibir em uma tela todas as informações de professores (quase um cadastro completo) acrescidos de informações como alunos matriculados (nome, cpf, idade, etc) de todos os cursos feitos pela Escola Maritima do Ar no período de 01/01/1900 a 31/12/3000;

    Acho que por enquanto tá ótimo.

    • O lazy loading carrega sob demanda, escolho primeiro o aluno Paulo Otávio e a cada curso ele vai ao banco e faz o select (é isso não é)?
    • O eager loading faz, graças ao include, um select só. (isso não é bem mais prático)?

    Preciso entender esses pontos pois estou modelando um sistema com consultas bem próximas a essas e quero a melhor performance do mundo.

    Valeu.

    Carlos Perez

    quinta-feira, 4 de julho de 2013 16:39

Respostas

  • Perez,

    O sua analise é exatamente a maneira que ambas as tecnologias trabalham, o custo de de ir banco diversas vezes pode ser alto quando usamos do Lazy Loading, se comparado ao Eager Loading, ele apenas faz um LEFT JOIN e traz as informações em uma query só, porem não podemos nos esquecer que seu banco não estiver preparado para este tipo trafego de dados (index, cluster e etc...) não vai adiantar adotar de Lazy, Eager ou Explicit.

    Eu recomendaria você desabilitar o Lazy Loading e trabalhar com Eager Loading.

    Um artigo bem legal, porem creio que você já saiba como funciona:
    http://www.c-sharpcorner.com/UploadFile/b1df45/lazy-loading-vs-eager-loading/

    Vitor Mendes | http://www.vitormendes.com.br/

    "Ajuda teu semelhante a levantar a sua carga, porém, não a carregá-la." (Pitágoras)

    • Marcado como Resposta Perez 2013 segunda-feira, 8 de julho de 2013 03:11
    sexta-feira, 5 de julho de 2013 17:44