一个存储过程一次读取,还是多个存储过程程序端多次读取

danmali 2008-11-29 11:51:21
有个页面上面有好几个需要从数据库中读取的地方

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

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

我想知道大家平时怎么做的?
...全文
115 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
danmali 2008-12-03
  • 打赏
  • 举报
回复
其他人也是这样做的嘛?
danmali 2008-12-02
  • 打赏
  • 举报
回复
ttg520 2008-12-02
  • 打赏
  • 举报
回复
一次返回多个datatable
Fibona 2008-11-30
  • 打赏
  • 举报
回复
一般的都是多次读取,
spiritgenius 2008-11-30
  • 打赏
  • 举报
回复
学习
mengxj85 2008-11-30
  • 打赏
  • 举报
回复
一般是多次读取
--------
而且每次读取,需要建立4次connection

如果一次读取,只需要建立1次connection

反而一次读取的会慢呢?请教
-----------
关注
mjjzg 2008-11-30
  • 打赏
  • 举报
回复
一般都是多次读取
一次读取本来就效率差,它还要一条一条的读取执行,效率不低才算怪了
xuan.ye 2008-11-30
  • 打赏
  • 举报
回复
有些行列转换的程序,还是用一次读取省事。

要不客户端还需要组织多次读取的结构。
danmali 2008-11-30
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 mjjzg 的回复:]
一般都是多次读取
一次读取本来就效率差,它还要一条一条的读取执行,效率不低才算怪了
[/Quote]

比如要显示一个页面,需要从数据库中读取出4个记录集。为什么一次性读取的效率会低呢?都是那么多工作,反正都要做,一次性读取出来为什么反而效率会低?

而且每次读取,需要建立4次connection

如果一次读取,只需要建立1次connection

反而一次读取的会慢呢?请教
winner2050 2008-11-30
  • 打赏
  • 举报
回复
懒得研究那么多,反正我喜欢返回多个数据集。

如果并发有问题,可以缓存起来,第一个人使用的时候从数据库读取,其他的从缓存读取。
tautaulee 2008-11-29
  • 打赏
  • 举报
回复
反正我就是多次读取的。
打开链接下载源码: https://pan.quark.cn/s/c6d3f9f29b8d 众所周知,在个人计算机的标准键盘布局中,顶区域设有12个功能按键,具体编号为F1至F12。 尽管在日常操作中这些按键的使用频率相对较低,但它们在某些特定场景下扮演着不可或缺的角色。 因此,本篇内容将系统性地阐述这12个功能键的具体用途。 F1:当用户在特定的应用程序内需要获取操作指引时,应按下F1键。 若当前处于Windows资源管理器或桌面界面,按下F1将直接调用系统帮助功能。 若用户在操作某个程序的同时需要查阅Windows的帮助信息,则应组合使用Win+F1键。 通过按下Shift+F1组合键,系统将展示"这是什么?"的上下文相关帮助提示。 F2:在资源管理器界面中,若选中了某个文件或文件夹,按下F2键即可启动该项目的重命名流程。 F3:无论是在资源管理器界面还是桌面环境中按下F3键,都会触发文件搜索功能的启动窗口。 这意味着用户若需查找特定文件夹内的文件,直接使用F3键能迅速打开搜索对话框,且搜索路径默认定位在当前所在文件夹。 类似地,在WindowsMediaPlayer应用程序中按下F3键,将弹出"通过搜索计算机添加到媒体库"的选项窗口。 F4:此按键主要用于在Internet Explorer浏览器中调取地址栏的历史记录列表。 若需关闭IE浏览器窗口,可以通过组合使用Alt+F4键实现。 F5:该按键的功能是刷新IE浏览器或资源管理器中当前展现的页面内容。 F6:按下F6键能够实现快速定位至资源管理器或IE浏览器中的地址栏输入区域。 F7:在Windows操作系统主界面中,该按键不具备任何功能。 然而在DOS命令行环境中,F7键具有特定的操作用途,建议用户进行实际尝试。 F8:在...

62,269

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧