Performance And Pooling : Comparisons of Data Access Techniques
Why Use Dataset or a Datareader:
I work mostly with asp.net web applications, using business objects and the Data Access Application Block
When I need to choose between using a DataSet and a DataReader in an Asp.Net page, my default choice is the DataSet. The data being fetched is usually very small, ten or twenty records, and it keeps the asp simpler, not requiring any management of the connection in the page. I never need to call .Close after DataSet list = GetEmployeeList().
For any kind of large data the issue gets much more complex, a DataSet is not a place to put 800,000 rows.
The performance comparison articles show the performance advantages of the DataReader, but an important change happens when they introduce a delay of 20 milliseconds to represent some processing in the loop.