![](/img/trans.png)
[英]How to turn IDENTITY_INSERT on and off using SQL Server 2008?
[英]How to turn STATISTICS TIME ON\OFF using variable in SQL Server?
我需要使用大量的set statistics time on
和set statistics time off
这样我就可以检查每个步骤的运行时间。 有什么办法可以使用变量来替换ON
和OFF
吗?
CREATE Procedure CPP_InsertOneRows
(@turnStatistics bit = 0
)
AS
BEGIN
DECLARE @onOrOff CHAR(3);
IF @turnStatistics = 1
BEGIN
SET @onOrOff = 'ON';
END
ELSE
BEGIN
SET @onOrOff = 'OFF';
END
SET STATISTICS TIME OFF -- how can I use @onOrOff to replace the 'OFF' here?
SET STATISTICS IO Off
我使用正确吗? 还是有其他方法可以做到这一点? 谢谢~
您必须在IF
中进行实际的开/关操作:
IF @turnStatistics = 1
SET STATISTICS TIME ON;
ELSE
SET STATISTICS TIME OFF;
...
SET STATISTICS TIME OFF;
您不能为OFF
/ ON
的值使用变量,它必须是文字。
如果你想检查你的代码的每一步所花费的时间,你可以使用下面的方法
Print 'Step 1 started'
print CONVERT (TIME, GETDATE())
WAITFOR DELAY '00:00:01'; -- function
Print 'Step 1 ended'
print CONVERT (TIME, GETDATE())
Print 'Step 2 started'
print CONVERT (TIME, GETDATE())
WAITFOR DELAY '00:00:02'; --- function
Print 'Step 2 ended'
print CONVERT (TIME, GETDATE())
确保在测试后删除它或使用 @trace 参数,如果此 @trace=1 只有默认设置为 @trace=0(带有 if 块)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.