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]
Paulo Santos

Paulo Santos

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.
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar