none
SqlDataSource demora / otimizar SqlDataSource RRS feed

  • Pergunta

  • Tive uma grande demora com um sqldatasource.

    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
    quinta-feira, 12 de novembro de 2009 20:52

Respostas

  • José,

    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.. "
    sábado, 14 de novembro de 2009 13:55