获取sql执行时间

sql server中获取要执行的sql或sql块的执行时间,方法之一如下:

declare @begin datetime,@end datetime
set @begin =getdate()
--your sql
set @end=getdate()
PRINT DATEDIFF(millisecond, @begin, @end)/1000.0 --单位:s

测试执行getdate()方法要花多长时间:

declare @begin datetime,@end datetime
set @begin =getdate()
select getdate()
set @end=getdate()
PRINT DATEDIFF(millisecond, @begin, @end)/1000.0 --单位:s

执行结果截图如下:

在消息中,可见执行getdate()方法的时间是极短,可以忽略不计!

下面,以查询我本地的[user]表为例进行测试:

执行后的当前时间减去执行前的当前时间,即为sql或sql块的执行用时。

项目中,程序想拿到这个时间,只需把这个sql块封装成一个存储过程,存储过程有一个output参数,

把最后一行的print换成赋值给output输出参数即可。

时间: 2024-08-15 21:34:12

获取sql执行时间的相关文章

.Net常用技巧_获取SQL Server表字段的各种属性

-- SQL Server 2000 SELECT a.name AS 字段名, CASE WHEN EXISTS (SELECT 1 FROM sysobjects WHERE xtype = 'PK' AND parent_obj = a.id AND name IN (SELECT name FROM sysindexes WHERE indid IN (SELECT indid FROM sysindexkeys WHERE id = a.id AND colid = a.colid))

mybatis拦截器获取sql

mybatis获取sql代码 package com.icourt.alpha.log.interceptor; import org.apache.ibatis.executor.Executor; import org.apache.ibatis.mapping.BoundSql; import org.apache.ibatis.mapping.MappedStatement; import org.apache.ibatis.mapping.ParameterMapping; impor

SQL Server 环形缓冲区(Ring Buffer) -- RING_BUFFER_SCHEDULER_MONITOR 获取SQL

SQL Server 环形缓冲区(Ring Buffer) -- RING_BUFFER_SCHEDULER_MONITOR 获取SQL进程的CPU利用率 环形缓冲区存储了有关CPU利用率的信息.这些信息每分钟更新一次.所以你可以跟踪到4小时15分钟内给定时间点的CPU利用率.下面的输出显示了SQL实例的CPU利用率和其他活动进程的CPU利用率.这将帮助我们分析是否SQL Server进程占用大量CPU. 对于SQL Server 2005: declare @ts_now bigint sel

JAMon监控SQL执行时间

JAMon监控web工程方法的调用性能 http://www.cnblogs.com/zfc2201/p/3786365.html 这往往篇文章主要告诉大家如何监控web方法调用时间,在这个基础这上,如果我们想要监控sql的执行时间,需要增加如下的配置: 1.增加一个类,假设是com.allen.bookshop.common.MonitorDataSource import java.io.PrintWriter; import java.sql.Connection; import java

ORACLE获取SQL绑定变量值的方法总结

  本文总结一下ORACLE数据库中如何获取SQL绑定变量值的方法,在SQL优化调优过程中,经常会用到这方面的知识点.在此梳理.总结一下,方面日后查找.翻阅. 方法1:查询V$SQL V$SQL视图中的BIND_DATA字段用来存储绑定变量的值,但是从这个视图查询绑定变量的值,有很大的局限性: 1: 它的记录频率受_cursor_bind_capture_interval隐含参数控制,默认值为900,表示每900秒记录一次绑定值,也就是说在900内,绑定变量值的改变不会反应在这个视图中.除非你调

Java 获取SQL查询语句结果

step1:构造连接Class.forName("com.mysql.jdbc.Driver"); Connection con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/db","root","123"); step2:构造语句String sql = "select username,password from t_user where

使用ttXactAdmin、ttSQLCmdCacheInfo、ttSQLCmdQueryPlan获取SQL相关详细信息[TimesTen运维]

使用ttXactAdmin.ttSQLCmdCacheInfo.ttSQLCmdQueryPlan获取SQL相关详细信息,适合于tt11以上版本. $ ttversion TimesTen Release 11.2.2.4.3 (64 bit Linux/x86_64) (tt1122:53396) 2013-02-09T17:19:52Z Instance admin: timesten Instance home directory: /TimesTen/tt1122 Group owner

linux --> 获取进程执行时间

获取进程执行时间 一.时间概念 在linux下进行编程时,可能会涉及度量进程的执行时间.linux下进程的时间值分三种: 时钟时间(real time):指进程从开始执行到结束,实际执行的时间. 用户CPU时间(user CPU time):指进程中执行用户指令所用的时间,也包括子进程. 系统CPU时间(system CPU time):指为进程执行内核程序所经历的时间,例如调用read和write内核方法时,消耗的时间就计入系统CPU时间. 二.获取方法 有两种方法可以获取,第一种是用time

SQL执行时间

打开SQL执行时间统计 set timing on; 查询是否有执行时间较长的SQL存在 select a.sid, b.sql_text from v$session a, v$sqlarea b where a.sql_hash_value = b.hash_value and a.sid in (SELECT SID from GV$Session_longops where TIME_REMAINING > 0);