请问如果我查询出来就只有一条数据,那么我用SqlDataAdapter还是用SqlDataReader效率比较高呢!

请问一下如果我查询出来就只是一条数据或者是一行一列数据,那么我用SqlDataAdapter还是用SqlDataReader效率比较高呢!
呵呵,谢谢!

这个跟查出多少数据是没有关系的。DataAdapter一般配合离线式数据结构使用,如DataSet,DataTable.而DataReader则是要求保持数据连接为打开的状态。如果你不需要对数据做复杂处理,例如仅仅只需要从数据源取出数据进行显示,完全可以使用DataReader(效率比后面提到的方式高些),反之如果你需要进行一些耗时的处理就最好使用DataAdapter(配合DataTable或DataSet)。为什么呢?由于DataReader需要保持连接打开,如果这时进行一些耗时操作,会影响连接池回收数据库连接以供重用。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-07-09
和数据量有关系,大数据量的情况下,使用sqldatareader,只有一条数据读入内存,效率高,系统不容易崩溃。如果上到300万数据,仍然频繁使用sqldataadapter,很容易造成系统崩溃,一般操作,也会慢得要命。我试过。
相似回答