解决Linq第一次调用存储过程时速度慢的问题

最近做项目,发现linq调用存储过程,第一次时会速度慢,但之后速度都很快,过一阵子又会慢一下,以实际的操作为例子:

using (FruitDbDataContext dbo = new FruitDbDataContext(GlobalInfo.Instance.ConnectString))
{
    dbo.CommandTimeout = GlobalInfo.Instance.DbTimeOutSeconds;
    执行存储过程
}
第一次执行大约2秒
改成
using (SqlConnection conn = new SqlConnection(GlobalInfo.Instance.ConnectString))
{
    SqlCommand command = new SqlCommand("set arithabort on;", conn);
    using (FruitDbDataContext dbo = new FruitDbDataContext(conn))
    {
        dbo.CommandTimeout = GlobalInfo.Instance.DbTimeOutSeconds;
        执行存储过程
    }
}
第一次执行大约1秒
这样操作虽然并没有完全达到1秒以内的速度,但能从2秒提高到1秒。

 

posted @ 2016-06-22 16:15  szlailai  阅读(372)  评论(0编辑  收藏  举报