内容摘要:你怎样确定你的应用程序执行的怎么样?你可以使用什么工具?每一个开发人员需要确定每一条应用程序TSQL语句是最优的。本篇文章将讲述关于怎样确定运行较慢的查询的一些不同方法,并提供给你一些小技巧用于在你反复修改每一个查询来试图改进性能的时候监控你的查询性能。
这里我在运行我的简单SELECT语句之前执行了“SET STATISTICS TIME ON”语句。注意“实耗时间”统计在结果面板中显示出来,还有“CPU时间”,以及我的PRINT 语句的输出。“SET STASTISTICS TIME ON”语句显示了解析、编译和执行每一条语句所花费的时间。如果你只执行少量的语句,那么这个语句是很有用的。如果你执行大量的语句,类似于我的第一个循环示例,那么输出的行数将是非常多的,以致难以阅读。
现在你有时需要测量在一个批处理文件中执行不同的大块代码所花费的时间,而不只是一个指定的TSQL 语句。如果你有一个运行时间很长的大型脚本或存储过程,并且你想找出哪一部分运行时间最长,那么这会是很有用的。要为代码段创建实耗时间,我们可以使用下面的方法:

在这你可以看到我运行了两个不同的简单循环。对于每一个循环,我计算进行这个循环所花费的时间。我将每一个代码块的起始时间放到一个叫做@START的变量里。然后当循环结束时我打印出@START DATETIME 变量和用GETDATE()函数获得的当前时间之间的差值。在我的例子里,第一个循环10,000次花费了16 ms ,而第二个循环90,000次花费了110秒。
CPU时间
另一个重要的性能测量是你的查询要返回一个结果集所需要的CPU数量。在上一节中,当我使用“SET STATISTICS TIME ON”语句时在一个批处理文件中显示每一条语句的CPU时间。所以这是你可以用来测量一条TSQL语句CPU消耗的第一个方法。但是,你怎么测量多个语句或者是不同代码块的CPU时间呢?
来源:IT专家网 作者:戴羽 责编:豆豆技术应用
正在加载评论...