页面显示数据是用SqlDataReader还是DataSet好?
一个项目,前台页面要大量的调用数据库中的单条记录内容,原来一直用的是SqlDataReader的方式,感觉很慢,而且经常造成服务器上的应用程序池中的SQL连结过多的假死现象。
现在想改用DataSet方式取出记录然后填充本地数据表的方式,在前台用DataTable[][]的方式来显示数据,这种方法可行吗?
也请大家谈谈平常自己在前台页面数据显示时用的方法,让我来学习学习,谢谢!!
------解决方案--------------------如果不需要非常频繁的更新服务器数据库的情况下可以在第一次载入的时候把要用到的表全部载入数据集中(DATASET),因为数据集即为本地的内存数据库,也正好应对了ADO.NET的无连接特性,这种做法应该可以很大程度的提高性能,但要多费点客户端的内存!
------解决方案--------------------SqlDataReader属于连接模式,就是应用程序保持对数据库的连接。
连接模式的劣势在于需要生成多个对数据库的访问,
DataSet属于非连接模式,就是说程序从数据库中装载了数据然后断开数据库的连接,
非连接模式的劣势在于导致大量的内存消耗。
一般情况下`使用DataSet更高效!