我有一个程序,它运行许多 SQL 查询、收集数据并写入数据库、发送电子邮件等。
我想知道的是:
有没有办法记录运行查询所花费的时间?
即在 Management Studio 中运行查询会返回 1.234 秒。我可以从.net 应用程序中检索此信息吗?
提前致谢。
使用StopWatch对象来测量您的时间
Dim st new Stopwatch()
st.Start();
ExecuteTheCodeOfYourQuery()
st.Stop();
Dim ts As TimeSpan = st.Elapsed
Dim elapsedTime as String = String.Format("{0:00}:{1:00}:{2:00}.{3:00}",
ts.Hours, ts.Minutes, ts.Seconds, ts.Milliseconds / 10)
MessageBox.Show("Exec Time " + elapsedTime)
看起来您可以使用
SET STATISTICS TIME ON
http://msdn.microsoft.com/en-us/library/ms190287.aspx
并且查询时间将结束sys.sysprocesses.cpu
(通常不会) - 如果有帮助的话。这是我研究过的:)