求大神解释,为什么和数据库做交互慢。

喜阳阳 2013-08-08 05:41:47
这个问题都两天了,也不知道怎么回事,就是慢。
存储过程在数据库执行是0秒。
在我们测试服务器上也很正常。
就是到外网就特别慢。
并且只有这一个方法慢。
其他的都很快。
我们这边测试都是32位系统,
服务器是64位系统。
现在确定是和数据库做交互慢。
能查出来,就是等50秒左右
我们的测试环境都是0秒。
并且没有什么数据量。

16:39:27.153 [32] ERROR Errorlog - 测试时间1:2013/8/8 16:38:39
------------------------------------------------------------------------------------
16:39:48.182 [32] ERROR Errorlog - 执行语句: exec HTGetDayConsumreport 41,'2013/8/8 0:00:00'
------------------------------------------------------------------------------------
16:40:35.903 [32] ERROR Errorlog - 测试时间2:2013/8/8 16:39:48
------------------------------------------------------------------------------------
16:46:12.785 [47] ERROR Errorlog - 测试时间1:2013/8/8 16:45:24
------------------------------------------------------------------------------------
16:46:12.863 [47] ERROR Errorlog - 执行语句: exec HTGetDayConsumreport 13,'2013/8/8 0:00:00'
------------------------------------------------------------------------------------
16:46:12.879 [47] ERROR Errorlog - 测试时间2:2013/8/8 16:46:12

求大神解释,为什么和数据库做交互慢。
整个系统只有这一个功能慢,并且这个存储过程在数据库执行是0秒。
...全文
352 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
KeepSayingNo 2013-08-09
  • 打赏
  • 举报
回复
HTGetDayConsumreport 你检查下这个存储过程,是不是由于它的执行,导致阻塞。
Shawn 2013-08-09
  • 打赏
  • 举报
回复
引用 8 楼 woshizou 的回复:
我用的数据库是 mssql2008R2
#1.连到08,实例上右键-》活动和监视器-》进程-》命令列下拉中选非空白-》新建一个登陆名-》用新建的登陆名执行你的SQL-》刷新监视器-》看一下阻塞进程和等待资源字段,显示的是什么? #2.也可以自定义SQL语句去监控。上面每个列都提示了这个字段从哪些系统视图中来。参考: http://blog.csdn.net/zwxrain/article/details/4270031
喜阳阳 2013-08-09
  • 打赏
  • 举报
回复
我用的数据库是 mssql2008R2
喜阳阳 2013-08-09
  • 打赏
  • 举报
回复
引用 4 楼 wwwwgou 的回复:
监控一下这个SQL查询时,阻塞的进程,阻塞的资源。再做定论。可能的原因: #1.生产环境数据量大 #2.生产环境某些操作对这个SQL产生阻塞 #3.缺少索引,不好的执行计划
请问下4楼我怎么做监控,能否发下操作步骤或操作资料我看下。
喜阳阳 2013-08-09
  • 打赏
  • 举报
回复
数据库是空表,和数据量没关系,主要耗时是在数据库请求响应上,web页面的其他耗时都是0。 如果说是进程阻塞,为什么测试服务器没问题? 并且只有这一个功能和数据库做交互比较慢,其他和数据库做交互的都没问题。
Q315054403 2013-08-08
  • 打赏
  • 举报
回复
你在SP执行前和执行后都记下时间点并返回客户端,对比一下
Shawn 2013-08-08
  • 打赏
  • 举报
回复
监控一下这个SQL查询时,阻塞的进程,阻塞的资源。再做定论。可能的原因: #1.生产环境数据量大 #2.生产环境某些操作对这个SQL产生阻塞 #3.缺少索引,不好的执行计划
_z3422_ 2013-08-08
  • 打赏
  • 举报
回复
查查数据库设置 有没可能设置的不正确 你的测试环境下的数据库设置 和 生产环境下的数据库设置 对比一下看看
唐诗三百首 2013-08-08
  • 打赏
  • 举报
回复
慢是因为等待事件(wait),看进程的等待类型(wait type)是什么? 从LZ的描述看,比较可能是进程阻塞, 试试在存储过程中,对访问到的表(特别是大表)加(nolock)选项读取..
Andy__Huang 2013-08-08
  • 打赏
  • 举报
回复
如果你的数据量不是很大,而且在本地运行也不了多少时间,那就是外网服务器慢的原因。 说实在话,那些不太正规的外网数据库服务器,有时候挂几百个数据库,就算每个数据库一分钟只访问两三次,都以足够让它慢了。

27,582

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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