Como organizar consultas de conjuntos de dados para melhorar o desempenho
-
08-06-2019 - |
Pergunta
Não sei quando adicionar a um conjunto de dados um adaptador de tabela ou uma consulta da caixa de ferramentas.Isso faz alguma diferença?
Também não sei onde criar instâncias dos adaptadores.
- Devo fazer isso no
Page_Load
? - Devo apenas fazer isso quando vou usá-lo?
- Estou abrindo uma nova conexão ao criar uma nova instância?
Isso não parece muito importante, mas toda vez que crio uma consulta, uma vozinha no meu cérebro me faz essas perguntas.
Solução
Devo apenas fazer isso quando vou usá-lo?
Eu recomendaria que você recuperasse os dados apenas quando for usá-los.Se você não vai precisar dele, não há razão para desperdiçar recursos recuperando-os em Page_Load.Se você precisar dele várias vezes durante o carregamento da página, considere salvar os resultados da consulta em uma variável ou coleção privada para que os mesmos dados possam ser reutilizados várias vezes durante o carregamento da página.
Estou abrindo uma nova conexão ao criar uma nova instância?
Asp.net identifica pool de conexões, e abre e fecha conexões de maneira eficiente.Você não deveria se preocupar com isso.
Outra coisa a considerar do ponto de vista do desempenho é evitar o uso de Datasets e TableAdapters.Em muitos casos, eles acrescentam sobrecarga extra na recuperação de dados que não existe ao usar Linq to Sql, Stored Procedures ou DataReaders.