El problema de esos pedidos quizas venga de aplicaciones que se migran de cuando se trabaja con sistemas conectados...hacer una grilla de 10.000 continuamente conectado contra el servidor de base de datos, era tambien malo, pero posible...
El hecho de que era tan malo es lo que hizo que casi todas las estrategias de acceso a datos pasaran a ser desconectadas. Hay grillas como al de DevExpress que tienen modo de conexion directa a la base para quienes quieren usar todavia la vieja moda. Pero a mi gusto como dice Carlos, la direccion tiene que ser mas bien rediseñar... 2010/1/5 Carlos Peix <[email protected]> > Hola Felipe, > > Ademas de las recomendaciones de Gustavo me gustaria hacerte otra que, a mi > juicio, los desarrolladores siempre pasamos por alto. No sera posible > simplificar esa grilla dividiendo su funcionalidad en varias pantallas? > > Muchas veces los desarrolladores cedemos ante la tentacion de colocar mucha > funcionalidad en una sola pantalla pero eso puede comprometer la > escalabilidad de esta aplicacion, sobre todo si estas recuperando 10.000 > objetos desde la base de datos. > > Desconozco el patron de uso de tu aplicacion y de esa pantalla en > particular pero definitivamente es un punto a controlar (medir) en cuanto > para la escalabilidad. > > ---------------------------------- > Carlos Peix > > 2010/1/4 Felipe <[email protected]> > >> Necesito desplegar una grilla, la cual actualmente estoy transformando >> >> de un grafo de objetos persistentes a DTOs. >> Lamentablemente el rendimiento es muy bajo, ya que cada celda de la >> grilla es una instancia, e incluso se combina una fila con celdas que >> provienen de otros objetos persistentes. Dado lo anterior hay que >> hacer un manejo importante a nivel de DTO, por lo cual armo algunos >> Dictionary para mejorar la eficiencia y además dado que la grilla es >> jerárquica. >> >> Probé utilizando el comando "select new ClaseDTO(parametros)" para ver >> la mejora de rendimiento, y es notoria. Actualmente estoy recuperando >> cerca de 10.000 objetos, y esto afecta no sólo la recuperación, sino >> también el cierre de la Sesión. >> >> El problema es que dado que la estructura es compleja, el constructor >> de la ClaseDTO es enorme, y quería ver si existía alguna alternativa >> de que NHibernate me devolviera el grafo de objetos sin ningún tipo de >> control (persistence manager), de este modo usa las entidades como >> DTOs o Bean transientes o "detached" y debiera disminuir el tiempo de >> carga. >> >> La pregunta obvia es, ¿Es esto posible?, ¿mejoraría el rendimiento? >> >> Gracias, >> >> -- >> Para escribir al Grupo, hágalo a esta dirección: >> [email protected] >> Para más, visite: http://groups.google.com/group/NHibernate-Hispano >> > > -- > Para escribir al Grupo, hágalo a esta dirección: > [email protected] > Para más, visite: http://groups.google.com/group/NHibernate-Hispano > -- Para escribir al Grupo, hágalo a esta dirección: [email protected] Para más, visite: http://groups.google.com/group/NHibernate-Hispano
