MARS y Paginación de datos en ADO.NET 2.0 (I) Una revolución en el rendimiento

No, No, MARS no significa que  somos «marcianos» o estamos en Marte 🙂 aunque a veces lo parezca o podamos estarlo cuando estamos tan abstraidos concentrados en nuestro código dandole a la tecla.


Al hilo del ultimo post de Jorge Serrano sobre datareader si se usa buffers o no, tengo que comentaros una cosa muy interesante de ado.net 2.0 que os puede ayudar mucho y podéis combinar con estos datareaders sin olvidar que es de 20 a 30 veces más rápido a la hora de leer un conjunto de datos secuenciales hacia delante que un DataSet por razones que muchos comprenderéis :


MARS: Multiple Active Recordsets. Es una característica nueva muy solicitada a los chicos de Redmond que sí permitía ADO (abrir varios recordsets sobre la misma conexión)pero no ADO.NET 1.x y que nos va a permitir tener acceso concurrente a más de un conjunto de resultados usando una misma conexión y siendo cada uno de ellos totalmente independiente como si usaran conexiones separadas con el consiguiente ahorro de recursos del servidor de base de datos.


Esto es muy interesante para aplicaciones web ASP.NET 2.0 y puede marcar una diferencia fundamental en el rendimiento de las mismas pudiendo además combinarse con comandos asíncronos nuevos en ado.net 2.0  que hacen uso de los métodos cmd.BeginExecuteREader y cmd.EndExecutereader. De hecho conozco desarrolladores que no pasaron de ADO a ADO.net 1.x solo por esta característica sin pararse a pensar en la penalización de rendimiento al tener que usarse COM Interop en ASP.NET cuando agregabamos una referencia a adodb.dll y usabamos aspcompat=true


Para poder usarlo hay que indicarlo en la cadena de conexion de SQL 2005 de la siguiente forma:


«Server=miservidor;Database=pubs;Trusted_Connection=True;MultipleActiveResultSets=true»


 Os dejo un artículo para que profundicéis con un ejemplo ilustrativo en c# y os recuerdo que no se puede usar en ADO.NET 1.x


http://www.devx.com/dbzone/Article/30132


Espero vuestros comentarios si os parece una mejora o revolución y os resulte interesante a todos.


En el próximo post hablaré sobre la nueva paginacion de datos 😉


Saludos


Sergio Vázquez
http://www.mutisdotnet.com

P.D: Si trabajas o vives cerca de Alicante, Almería, Murcia o Albacete y necesitas formación presencial en .NET, puedes contactarme
sin compromiso para un curso.


 

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *