我有一个SQL脚本,一旦表被修改就会刷新表的相关视图,比如添加新字段。该脚本将通过ExecuteNonQuery运行,请参见下面的示例。
Using refreshCommand As New SqlClient.SqlCommand("EXEC RefreshDependentViews 'Customer','admin',0", SqlClient.SqlConnection, SqlClient.SqlTransaction)
refreshCommand.ExecuteNonQuery()
End Using
执行上面的代码需要4-5秒,但是当我只复制脚本并直接通过MS SQL运行时,只需要2-3秒。
我的问题是,为什么他们有不同的间隔?
请注意,MS SQL服务器本身就在我的电脑上,还有代码。
由于
答案 0 :(得分:0)
SqlClient
和SSMS具有不同的连接级选项(SET
选项),这有时可能是一个因素。我也想知道这两个事物的隔离级别是什么,如果你在你的代码中使用TransactionScope
等,这可能会更复杂。当时也可能只是不同的系统负载。基本上,很难说就是这样:但确实有一些事情会影响到这一点。