WEB开发网
开发学院数据库MSSQL Server T-SQL命令在SQL Server查询中的运用 阅读

T-SQL命令在SQL Server查询中的运用

 2006-08-05 09:15:32 来源:WEB开发网   
核心提示: 第二行的“SQL Server parse and compile time”表示SQL Server从过程缓冲区中取出解析结果供执行的时间,大多数情况下这二个值都会是0,T-SQL命令在SQL Server查询中的运用(5),因为这个过程执行得相当地快,如果不清除

第二行的“SQL Server parse and compile time”表示SQL Server从过程缓冲区中取出解析结果供执行的时间,大多数情况下这二个值都会是0,因为这个过程执行得相当地快。

如果不清除缓冲区而再次运行SELECT * FROM [order details]命令,CPU运行时间和编译时间会都是0,因为SQL Server会重复使用缓冲区中的解析结果,因此就不需要再次编译的时间了。

这些信息在查询性能的调节中对你的帮助真的很大吗?也许并非如此,但我将解释一下这些信息的真正含意,你将会很惊奇,大多数的DBA居然都不真正明白这些信息的含意:

我们最感兴趣的是显示在输出最后的时间信息:

SQL Server Execution Times:

CPU time = 30 ms, elapsed time = 387 ms.

上面显示的信息表明,执行这次查询使用了多少CPU运行时间和运行查询使用了多少时间。CPU运行时间是对运行查询所需要的CPU资源的一种相对稳定的测量方法,与CPU的忙闲程度没有关系。但是,每次运行查询时这一数字也会有所不同,只是变化的范围没有总时间变化大。总时间是对查询执行所需要的时间(不计算阻塞或读数据的时间),由于服务器上的负载是在不断变化的,因此这一数据的变化范围有时会相当地大。

由于CPU占用时间是相对稳定的,因此可以使用这一数据作为衡量你的调节措施是提高了查询性能还是降低了查询的性能的一种方法。

SET STATISTICS IO的效果

SET STATISTICS IO的输出信息显示在输出的结束处,下面是它显示的一个例子:

Table 'Order Details'. Scan count 1, logical reads 10, physical reads 1, read-ahead reads 9.

这些信息中的一部分是十分有用的,另一部分则不然,我们来看看每个部分并了解其含意:

上一页  1 2 3 4 5 6 7  下一页

Tags:SQL 命令 SQL

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接