• SQL execution time


    可以首先定义两个时间变量,@BeginTime 和@EndTime数据类型均为Time。

    执行SQL语句之前,先把系统当前时间赋值给@BeginTime变量,在SQL语句结果时,再把当前系统时间赋值给@EndTime变量。

    然后使用DATEDIFF函数计算时间差,即可得到SQL执行所需要时间。

    参考下面演示例子:   

    代码
    --删除计划缓存中的所有元素,通过指定计划句柄或 SQL 句柄从计划缓存中删除特定计划,或者删除与指定资源池相关联的所有缓存条目。
    --
    http://msdn.microsoft.com/zh-cn/library/ms174283.aspx
    DBCC FREEPROCCACHE

    --从缓冲池中删除所有清除缓冲区
    --
    http://msdn.microsoft.com/zh-cn/library/ms187762.aspx
    DBCC DROPCLEANBUFFERS  

    GO

    DECLARE @BeginTime TIME(4)
    DECLARE @EndTime TIME(4)
    --把当前系统日期时间赋值给@BeginTime变量
    SET @BeginTime = CURRENT_TIMESTAMP;

    BEGIN
        
    --判断表是否在存在,如果存在,首先删除。
        IF OBJECT_ID ('[dbo].[TestExecuteTime]','U'IS NOT NULL DROP TABLE [dbo].[TestExecuteTime];
        
    --创建一个全新的表
        CREATE TABLE [dbo].[TestExecuteTime]([Number] INT NOT NULL);
        
    --下面是插入数据
        DECLARE @I INT = 0
        
    WHILE @I <= 10
        
    BEGIN
            
    INSERT INTO [dbo].[TestExecuteTime] ([Number]VALUES (@I);
            
    SET @I = @I + 1
        
    END
    END
    --把当前系统日期时间赋值给@EndTime变量
    SET @EndTime = CURRENT_TIMESTAMP;

    --计算执行时间
    SELECT DATEDIFF(millisecond, @BeginTime@EndTimeAS [ExecuteTime]
  • 相关阅读:
    响应式开发: 宽高等比例缩放
    node服务成长之路
    node压力测试
    前端开发工具
    sequelize问题集锦
    webpack引入handlebars报错'You must pass a string or Handlebars AST to Handlebars.compile'
    夏夜无题
    jmeter在windows环境下系统参数设置
    服务端性能优化指南
    修车备忘
  • 原文地址:https://www.cnblogs.com/insus/p/1929526.html
Copyright © 2020-2023  润新知