2010-06-22 146 views
4

我有一个查询,我在两个等效的数据库上运行,但托管在单独的MS SQL 2005服务器上。我想衡量这两台服务器上查询的时间,因此尝试了以下内容:SQL Server执行时间代表什么?

SET STATISTICS TIME ON 
GO 
SELECT TOP 10000 * 
    FROM table 
GO 
SET STATISTICS TIME OFF; 
GO 

,得到了以下结果:

SQL Server parse and compile time: 
    CPU time = 0 ms, elapsed time = 2 ms. 

(10000 row(s) affected) 

SQL Server Execution Times: 
    CPU time = 16 ms, elapsed time = 8143 ms. 
SQL Server parse and compile time: 
    CPU time = 0 ms, elapsed time = 0 ms. 

我的问题是,什么是SQL Server的执行时间是指?它只是在数据库执行查询,还是执行包括将数据传输回运行SQL Server Management Studio的客户端的查询?

Thanx提前!

回答

3

经过时间=总时间来运行查询(包括等待I/O)

CPU时间=总CPU时间。

关于这个问题的有用制品是在http://www.sqlservercentral.com/articles/Performance+Tuning/measuringperformance/1323/

+0

据我所知的文章,I/O装置从磁盘和/或存储器中读出到/。也就是说,不包括通过tcp/ip传输数据。这听起来正确吗? – 2010-06-22 11:11:24

+0

对我来说听起来很合适。但是,您也可能需要考虑任何并行处理。但它最有可能是磁盘I/O。有关SSC论坛的有趣讨论:http://www.sql-server-performance.com/faq/cpu_elapsed_time_query_performance_p1.aspx – 2010-06-22 15:33:42

相关问题