The DbDataReader object just reads data from database objects. The DbDataAdapter.Fill method reads data and caches them in the DataSet object. The DataTable.Load method fills a DataTable with values from a data source using the supplied IDataReader and creates constraints. The DataSet.Load method fills a DataSet with values from a data source using the supplied IDataReader, using an array of DataTable instances to supply the schema and namespace information. It creates constraints and tables for represeting data. In other words, the Load methods require more time, because they make more operations with data.
The reason for doing the work is to create something useful that helps people. Please click the ads if my articles are useful for you. Definitely, that's not enough. My target is working at some great organizations, such that one day, all the people with internet access can benefit from the service I contributed.