SqlDataSource コントロールの DataSourceMode プロパティは、抽出されたデータがどのように維持されるかを決定します。
DataSourceMode プロパティのデフォルト値は DataSet です。これは、SqlDataSource を GridView などのコントロールのデータ ソースとして使用し、並べ替えを行う場合、データベースから抽出された結果セットがサーバー メモリの DataSet オブジェクトに格納されることを意味します。 GridView コントロールでフィルタリングやページングなどの処理を行うには、SqlDataSource の DataSourceMode プロパティを DataSet に設定する必要があります。
ただし、その一方で、SqlDataSource によって抽出されたデータが、並べ替え、フィルター処理、ページングなどを行わずに、DropDownList や ListBox などのコントロールのオプションとしてのみ使用される場合は、SqlDataSource の DataSourceMode プロパティを DataReader に設定する必要があります。リソースの消費を削減します。結局のところ、現時点で DataSet を使用することは、単にニワトリをナイフで殺すことと同じです。
DataSourceMode プロパティを DataReader に設定すると、データは IDataReader オブジェクト (つまり、前方および読み取り専用のデータ ポインター) を通じて取得され、結果セットはサーバーのメモリに格納されません。
データセットモデルとデータコマンドモデルの特徴や違いをしっかり理解していれば、どのような時にDataSetを使用し、どのような時にDataReaderを使用すればよいのかが分かると思います。
http://www.cnblogs.com/liminzhang/archive/2006/12/18/595332.html