日期:2014-05-18  浏览次数:20478 次

一个存储过程一次读取,还是多个存储过程程序端多次读取
有个页面上面有好几个需要从数据库中读取的地方

我先在的做法是,写一个存储过程,这个存储过程中存在多个 select ,然后返回的记录用dataset读取,然后页面部分再用dataset对象操作。

我原来觉得反正页面都需要读取,与其在程序端创建多个方法,一次一次从数据库中读取,不如一次行读取出来效率高。但是今天突然发现好像在sqlserver 的存储过程中,同时放多个select 在并发较高的时候,反而效率差了。

我想知道大家平时怎么做的?

------解决方案--------------------
懒得研究那么多,反正我喜欢返回多个数据集。

如果并发有问题,可以缓存起来,第一个人使用的时候从数据库读取,其他的从缓存读取。
------解决方案--------------------
有些行列转换的程序,还是用一次读取省事。

要不客户端还需要组织多次读取的结构。
------解决方案--------------------
一般都是多次读取
一次读取本来就效率差,它还要一条一条的读取执行,效率不低才算怪了
------解决方案--------------------
一次返回多个datatable