诡异问题

scuticeman 2010-10-28 10:34:54
在SQL中,同一个存储过程 第一次执行时的1分多钟 第二次执行是20多秒 到最后一次执行只要几秒钟。
为什么会这样?
PS:存储过程用到临时表,因为要从多个大表中取一部分数据存到临时表,然后再联合操作查询
...全文
110 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zsforever 2010-10-28
  • 打赏
  • 举报
回复
缓存问题,第一次是物理读,后面两次逻辑读
scuticeman 2010-10-28
  • 打赏
  • 举报
回复
那应该怎么解决呢?我现在的情况是,要从不同的表取数据,然后再进行联合和加减乘除等操作,最后查询出来,用没有什么比较好,速度比较快的查询方法。
fengyun142415 2010-10-28
  • 打赏
  • 举报
回复
支持楼上的说法
dawugui 2010-10-28
  • 打赏
  • 举报
回复
[Quote=引用楼主 scuticeman 的回复:]
在SQL中,同一个存储过程 第一次执行时的1分多钟 第二次执行是20多秒 到最后一次执行只要几秒钟。
为什么会这样?
PS:存储过程用到临时表,因为要从多个大表中取一部分数据存到临时表,然后再联合操作查询
[/Quote]
第一次执行时的1分多钟,把数据装入缓存。
所以:第二次执行是20多秒乃至到最后一次执行只要几秒钟。
abuying 2010-10-28
  • 打赏
  • 举报
回复
临时表如果不释放,则暂存!
数据缓冲,类型于页面缓冲!
第一次打开网页慢,第二次就快些

22,209

社区成员

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

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