我正在对SQL Server 2005执行一个简单的查询:

protected static void InitConnection(IDbCommand cmd) {
        cmd.CommandText = "set transaction isolation level read uncommitted ";
        cmd.ExecuteNonQuery();            
    }

每当我使用dotTrace 3.1进行配置时,它声称SNIReadSync方法需要100到500毫秒。

为了缩短这段时间,我需要寻找什么样的东西?

谢谢!

有帮助吗?

解决方案

我没有测试过,但是如果你使用带有IsolationLevel.ReadUncommitted选项的TransactionScope,你会怀疑是否有同样的问题。您必须封装完整的调用集,否则将无需使用此语句。我意识到这个陈述不是你的基本关注点,而是一般的。

您可以做的另一件事是创建一个DBConnectionScope类(或利用可信供应商的类)并减少打开的连接总数。

其他提示

确保已启用连接池,或者每次打开连接时都会收到重大损失。在您的连接字符串中设置Pooling = True,或删除对池的任何引用。我相信默认已启用。

这解决了我的问题。希望它对你和他人有所帮助。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top