Fórum Dúvidas sobre paginação #585395
29/08/2017
0
Olá pessoal,
Estou mais curioso que em duvida kkkk
É difícil ter acesso a uma base de dados com muitos registros para realmente testar a performance do código.
Mas enfim, vamos as minhas duvidas/curiosidade.
1ª) Muitas vezes a paginação de informações esta atrelada a filtros, que contém dados de muitas outras tabelas e que pode trazer informações com agrupamento.
Cenário: Uma pagina onde será exibido produtos por grupo e com imagens para cada produto.E tenha que listar os produtos por grupo e contar quantas imagens tem por produto.
Esse aumento de condições e cálculos certamente deixara a consulta mais pesada, mas o modo de paginação seria o mesmo com uma performance aceitável para o usuário (tipo 15 segundos kkk).
2ª) O código tem o mesmo impacto se fosse em uma View direto na base ou é melhor criar tudo no C#?
Obrigado.
Essa dúvida foi gerada a partir de um comentário no artigo [url:descricao=Paginação de dados no Entity Framework]https://www.devmedia.com.br/paginacao-de-dados-no-entity-framework/36897[/url]
Estou mais curioso que em duvida kkkk
É difícil ter acesso a uma base de dados com muitos registros para realmente testar a performance do código.
Mas enfim, vamos as minhas duvidas/curiosidade.
1ª) Muitas vezes a paginação de informações esta atrelada a filtros, que contém dados de muitas outras tabelas e que pode trazer informações com agrupamento.
Cenário: Uma pagina onde será exibido produtos por grupo e com imagens para cada produto.E tenha que listar os produtos por grupo e contar quantas imagens tem por produto.
Esse aumento de condições e cálculos certamente deixara a consulta mais pesada, mas o modo de paginação seria o mesmo com uma performance aceitável para o usuário (tipo 15 segundos kkk).
2ª) O código tem o mesmo impacto se fosse em uma View direto na base ou é melhor criar tudo no C#?
Obrigado.
Essa dúvida foi gerada a partir de um comentário no artigo [url:descricao=Paginação de dados no Entity Framework]https://www.devmedia.com.br/paginacao-de-dados-no-entity-framework/36897[/url]
Paulo Santos
Curtir tópico
+ 0
Responder
Posts
30/08/2017
Joel Rodrigues
Olá, Paulo. Tudo bem?
Esse é um cenário comum e você tem toda razão em se preocupar com a performance. Faz todo sentido prever que à medida que a base cresce, bem como a complexidade das consultas, a performance será reduzida.
Quando efetuamos paginação, nós limitamos o tamanho do resultado a algumas linhas (10, por exemplo), o que tende a melhorar a performance, pois estaremos fazendo uma consulta "menor".
Nesse cenário, fazer a consulta pela aplicação ou usar uma view fará pouca diferença. O que mudará principalmente será a complexidade da consulta feita via código. Por exemplo, se você optar por fazer via C#, terá de montar o SQL todo (ou usar ORM). Se optar por fazer a view, você fará a consulta sobre ela, simplificando a instrução SQL gerada.
Se você usar Entity Framework, por exemplo, e optar por fazer uma consulta muito complexa, o SQL gerado pode não ser o melhor/mais performático, então nesses casos considero a view uma boa opção, pois você tem total controle sobre a query que está sendo usada.
Abraço.
Esse é um cenário comum e você tem toda razão em se preocupar com a performance. Faz todo sentido prever que à medida que a base cresce, bem como a complexidade das consultas, a performance será reduzida.
Quando efetuamos paginação, nós limitamos o tamanho do resultado a algumas linhas (10, por exemplo), o que tende a melhorar a performance, pois estaremos fazendo uma consulta "menor".
Nesse cenário, fazer a consulta pela aplicação ou usar uma view fará pouca diferença. O que mudará principalmente será a complexidade da consulta feita via código. Por exemplo, se você optar por fazer via C#, terá de montar o SQL todo (ou usar ORM). Se optar por fazer a view, você fará a consulta sobre ela, simplificando a instrução SQL gerada.
Se você usar Entity Framework, por exemplo, e optar por fazer uma consulta muito complexa, o SQL gerado pode não ser o melhor/mais performático, então nesses casos considero a view uma boa opção, pois você tem total controle sobre a query que está sendo usada.
Abraço.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)