Tenho uma página aspx onde tenho apenas um gridview e um SqlDataSource. A consulta retorna uns 500 registros, e a página leva uns 40 segundos para aparecer.
Ai resolvi tentar otimizar e vi que a consulta diretamente no SQL Server Management Studio levava menos de 1 segundo.
Então substitui o SqlDataSource e populei a gridview em código com SqlDataAdapter e um DataTable (com a mesma consulta) e agora a página aparece em 4 segundos.
Tem algum motivo para o SqlDataSource deixar a página tão lenta? Grato
Então o problema do SqlDataSouce é que ele gerencia todos os objetos, e se sua aplicação esta no modelo de N Camadas, isso acaba sendo menos performático já que ele utilize padrões de DataSets (tabelas e esquemas do banco), e quando você usa apenas um datatable não carrega todos esses dados, por outro lado o controle possui alguns features como paginação, ordenação e etc..
O que recomendo:
Veja qual é seu foco, se for performance, aconselho utilizar a Api do ado.net (dataadapter, datatable, entity framework etc), senão, se o seu foco for produtividade, ai melhor continuar com ele.
Abs,Nelson Borges - http://nelsonborgesjr.spaces.live.com/blog/
"Ao infinito e além.. "
Sugerido como RespostaJoão Antônio Cabralquarta-feira, 25 de novembro de 2009 12:33