我们有一个网站存在性能问题,存储过程执行是瓶颈。造成这种情况的原因之一是其中一些存储过程在页面加载时启动。因此,假设数据库负载很高,用户对页面上的报告加载所需的时间感到沮丧,并反复刷新页面,启动同一存储过程的新执行。这是我们用来执行存储过程和管理连接的代码:using (SqlCommand cmd = CreateCommand(qry, CommandType.StoredProcedure, args)) { SqlDataAdapter adapt = new SqlDataAdapter(cmd); DataSet ds = new DataSet(); adapt.Fill(ds); return ds; }即使用户离开页面或刷新页面,旧的执行仍然会访问数据库,产生一个新的。两种可能的解决方案:当生成它的用户离开它本来会显示的页面时,以某种方式终止存储过程的执行。更进一步,尝试保留连接的相同实例,以便如果用户点击同一页面,它将等待来自前一个存储过程的结果,然后在页面上显示这些结果。随着这些事情的发展,常见的做法是什么,它们是如何实施的?当用户离开调用它的页面时,我如何至少终止存储过程?
1 回答
- 1 回答
- 0 关注
- 85 浏览
添加回答
举报
0/150
提交
取消