日期:2014-05-17  浏览次数:20862 次

datatable有关的一个问题
请教下 我现在有一个数据库操作sql语句是 select a from xx where a in xxxxxx in里头东西很多 这个方法返回了一个datatable表 效率太低现在想改变一下 用select a from xx where a=xxx来解决 每次查到一个结果就返回一行数据 存到datatable表里 再返回 那么这一行数据是不是要存datarow里呢 如何添加到datatable里呢

------解决方案--------------------
用DataReader ,他每次读取一条,你添加到本地,不过如果你需要将全部数据加载进来,这和你一次性加载也没啥区别了,所以要提高效率,先从数据库设计入手,根据业务规则优化sql
------解决方案--------------------
dataTable1.Rows.Add(datarow);
------解决方案--------------------
你不如SQL UNION 进行连接
------解决方案--------------------
返回结果集并没有什么不好,如果是通过改变查询语句从而得到单条记录,那么无疑增加了访问数据库的次数,通过一次访问数据库来得到结果集难道不好么?问题的关键在于你的sql,你可以通过建立索引等等来优化查询