【发布时间】:2014-08-05 11:06:13
【问题描述】:
我有一个包含数百万行数据的表,我想知道查询我的数据的最佳方法是使用.ExecuteReader() 还是使用Dataset。
像这样使用SqlDataReader:
myReader = cmd.ExecuteReader();
然后用结果填充列表
或使用DataSet
using (SqlDataAdapter da = new SqlDataAdapter(cmd))
{
a.Fill(ds);
}
最好的方法是什么?
【问题讨论】:
-
真正的问题是:你的 sql 命令文本有 WHERE 吗?永远不要考虑读取数百万条记录
-
如果你想填写
DatasSet/DataTable使用DataAdapter.Fill(ds),否则使用SqlDataReader。 -
无论您选择何种读取器/数据集方法,仅读取数百万行都不是一个好的选择。
-
另外,除了“没有充分理由不要读取数百万行”之外,我想说 DataTable / DataSet 很少是数据模型的正确选择。例如,您是否考虑过类?
标签: c# dataset sqldatareader