存储过程的问题!求大神

singerroom_1 2014-09-03 03:01:37
写了一个存储过程,因为表名不确定 。所以需要拼接SQL,大致实现的就是
查数据
把字段赋值给各个变量。
进行计算

途中有查询一个数据量很大的表不过条件很多 只查了一个字段。看执行计划也耗时不是很大

最后Update进库里

执行的时候要100ms左右。。
说下问题吧。。
一个WINFORM程序 循环调用这个存储过程。有时候要循环1000多次,这样一来就需要很长时间了,
求大神想个法子!
...全文
212 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
KeepSayingNo 2014-09-04
  • 打赏
  • 举报
回复
如果你这种情况,执行SQL ,建议不要简单的用。在.net中可以用 sqlHelper.ExecNonQuery(sql, Entity2Condition(entity));
Tiger_Zhao 2014-09-03
  • 打赏
  • 举报
回复
编译执行计划的时间和数据量没关系。
写多个存储过程吧。
singerroom_1 2014-09-03
  • 打赏
  • 举报
回复
引用 6 楼 Tiger_Zhao 的回复:
几十秒的存储过程都有,100ms有什么不正常?
数据量不大。。每次查一条 更新一条而已
Tiger_Zhao 2014-09-03
  • 打赏
  • 举报
回复
几十秒的存储过程都有,100ms有什么不正常?
singerroom_1 2014-09-03
  • 打赏
  • 举报
回复
引用 4 楼 Tiger_Zhao 的回复:
拼的SQL变动了就需要重新编译执行计划,这就是第一次和以后几次的时间差。 追求性能可以考虑每个表都对应一个存储过程,不要再拼SQL了。
一个存储过程执行时间100ms 这样正常吗? 我感觉等待的情况更严重 我有试着在程序里多线程调用 比之一次一次调用更慢
Tiger_Zhao 2014-09-03
  • 打赏
  • 举报
回复
拼的SQL变动了就需要重新编译执行计划,这就是第一次和以后几次的时间差。
追求性能可以考虑每个表都对应一个存储过程,不要再拼SQL了。
singerroom_1 2014-09-03
  • 打赏
  • 举报
回复
singerroom_1 2014-09-03
  • 打赏
  • 举报
回复
singerroom_1 2014-09-03
  • 打赏
  • 举报
回复
exec sp_executesql @stmt = @StrSql, @params =N' @gpdmId_t as varchar(10) ', @gpdmId_t = @gpdmId 用了这个 在库里执行 第一次是100毫秒 第二次就是十几二十 ,但是改个参数又得一百。。能想个办法改下吗 有时候程序正在调用时 我这边执行会要2秒左右。。这是等待了吗 ?

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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