Ver Mensaje Individual
  #4 (permalink)  
Antiguo 10/06/2010, 04:23
Avatar de Malenko
Malenko
Moderador
 
Fecha de Ingreso: enero-2008
Mensajes: 5.323
Antigüedad: 16 años, 3 meses
Puntos: 606
Respuesta: Qué es más rápido

Cita:
Iniciado por moNTeZIon Ver Mensaje
La verdad es que en el caso del DataReader, de acuerdo con que será más rápido que usar DataSet, pero al final, también tendrá en todo momento los valores en memoria. Si te fijas, lo que hago es ir construyendo una lista de objetos Cliente, que finalmente será lo que devuelva la función. Aun así, ¿sigues viendo más rápido este método?
Es diferente. Tu quieres comparar la velocidad de adquisición de los datos. Y mientras que el DataSet los ha de obtener y mantener todos en memoria, el DataReader solo ha de tener una fila en memoria cada vez. Se tendría que ver cuanta memoria te ocupa la lista generada, pero diria que ocupará menos la lista, además de que le puedes meter mano. Pero vamos, a nivel de velocidad (tu pregunta inicial) gana el DataReader.

Ojo, esto te lo he comentado viendo únicamente esa función. Dependiendo del uso que le quieras dar luego a esos valores te puede interesar (o no) utilizar mejor un dataset. Peeeeeeeero viendo esto otro....

Cita:
Iniciado por moNTeZIon Ver Mensaje
Y otra pregunta:
Finalmente, voy a utilizar lo que devuelva la función como DataSource de un GridView. ¿No hay problema en asignar un "List (Of DetallesCliente)" como DataSource de un DataGrid?
¿El rendimiento será el mismo o mejor que si el DataSource fuera un DataTable?

Gracias por todo!
Saludos.
Casi te recomendaría mejor usar la primera opción, aunque puedes hacer el binding a la lista sin ningún problema.

Te paso un link que quizás te saque de dudas o te genere más :P

http://msguayaquil.com/blogs/julioc/...taReaders.aspx
__________________
Aviso: No se resuelven dudas por MP!