防止来自网站的孤立 sql 查询

我们有一个网站存在性能问题,存储过程执行是瓶颈。造成这种情况的原因之一是其中一些存储过程在页面加载时启动。


因此,假设数据库负载很高,用户对页面上的报告加载所需的时间感到沮丧,并反复刷新页面,启动同一存储过程的新执行。


这是我们用来执行存储过程和管理连接的代码:


using (SqlCommand cmd = CreateCommand(qry, CommandType.StoredProcedure, args))

            {

                SqlDataAdapter adapt = new SqlDataAdapter(cmd);

                DataSet ds = new DataSet();

                adapt.Fill(ds);

                return ds;

            }

即使用户离开页面或刷新页面,旧的执行仍然会访问数据库,产生一个新的。


两种可能的解决方案:


当生成它的用户离开它本来会显示的页面时,以某种方式终止存储过程的执行。

更进一步,尝试保留连接的相同实例,以便如果用户点击同一页面,它将等待来自前一个存储过程的结果,然后在页面上显示这些结果。

随着这些事情的发展,常见的做法是什么,它们是如何实施的?当用户离开调用它的页面时,我如何至少终止存储过程?


有只小跳蛙
浏览 86回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP