【发布时间】:2013-08-27 11:11:21
【问题描述】:
我有一个 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 服务器在我的 PC 本身和代码上。
谢谢
【问题讨论】:
-
确保在进行性能比较之前刷新所有缓冲区、缓存等(例如,查看此question)。
-
你是如何计时的?如果您使用 SQL 分析器,您可能会发现查询的实际执行可能是匹配的,并且它只是增加了额外时间的应用程序代码。
标签: sql-server vb.net tsql