我們在之前的一篇文章提到如何善用「善用 DataSourceMode 屬性」(http://www.cnblogs.com/liminzhang/archive/2006/12/18/595332.Html),引發了不少回響,大家開始思索應該在 Web Form 網頁中應該使用 DataSet 或 DataReader 作為實質的數據來源。
在此我們進一步於圖表1中列示出使用 DataReader 與 DataSet 的優劣之處。在一般的狀況下,DataReader 的速度不僅比 DataSet 來得快,在 IIS 服務器上所使用的內存也較少。我們的建議是,如果您的數據來源控件只是用來填入控件的清單成為其選項,亦或是您的數據綁定控件並不需要提供排序或分頁功能的話,則應該使用 DataReader。反之,如果您的數據綁定控件需要提供排序或分頁功能的話,則必須使用 DataSet 並承擔其各項負面效應。
DataSourceMode屬性
優點
缺點
DataReader
速度較快
不支持快取、分頁與動態排序。
DataSet
支持快取、分頁與動態排序
速度較慢