1. 在mssql中如何查看某条SQL语句的执行时间
在查询分析器里面输入。
declare @d datetime
set @d=getdate()
select gid,fariqi,neibuyonghu,title from Tgongwen where fariqi> dateadd(day,-90,getdate())
select [语句执行花费时间(毫秒)]=datediff(ms,@d,getdate())
2. 如何监控 SQL语句的执行时间
如何监控 SQL语句的执行时间
首先纠正你一个说法 不是监视器是PROfilter , 你所说的情况如果是在PROFILTER 中是不存在的任何对数据库的 修改都会在上面显示并标出语句,请你确认你的PROFILTER 是否打开正确的数据库并开始
3. sql执行时间一般不超过多久
你好,一般是10-20毫秒。
扩展:
常见查询慢的原因常见的话会有如下几种:
1、没有索引或没有用到索引。
PS:索引用来快速地寻找那些具有特定值的记录,所有MySQL索引都以B-树的形式保存。如果没有索引,执行查询时MySQL必须从第一个记录开始扫描整个表
的所有记录,直至找到符合要求的记录。表里面的记录数量越多,这个操作的代价就越高。如果作为搜索条件的列上已经创建了索引,MySQL无需扫描任何记录
即可迅速得到目标记录所在的位置。如果表有1000个记录,通过索引查找记录至少要比顺序扫描记录快100倍。
索引类型:
普通索引:这是最基本的索引类型,没唯一性之类的限制。
唯一性索引:和普通索引基本相同,但所有的索引列只能出现一次,保持唯一性。
主键:主键是一种唯一索引,但必须指定为"PRIMARY KEY"。
全文索引:MYSQL从3.23.23开始支持全文索引和全文检索。在MYSQL中,全文索引的索引类型为FULLTEXT。全文索引可以在VARCHAR或者TEXT类型的列上创建。
2、IO吞吐量小形成了瓶颈。
PS:这是从系统层来分析MYSQL是比较耗IO的。一般数据库监控也是比较关注IO。
监控命令:$iostat -d -k 1 10
参数 -d 表示,显示设备(磁盘)使用状态;-k某些使用block为单位的列强制使用Kilobytes为单位;1 10表示,数据显示每隔1秒刷新一次,共显示10次。
4. SQL Server如何查看SQL语句的执行时间
下面这种是SQL
Server中比较简单的查询SQL语句执行时间方法源码天空
,通过查询前的时间和查询后的时间差来计算的:
declare
@begin_date
datetime
declare
@end_date
datetime
select
@begin_date
=
getdate()
select
@end_date
=
getdate()
select
datediff(ms,@begin_date,@end_date)
as
'用时/毫秒'
2:下面这种方法比较全面,将执行每个语句时采取的步骤作为行集返回,通过层次结构树的形式展示出来
set
statistics
profile
on
set
statistics
io
on
set
statistics
time
ongo
<这里写上你的语句...go
set
statistics
profile
off
5. 如何追踪SQL语句的响应时间
SELECT SUBSTRING(qt.text, ( qs.statement_start_offset / 2 ) + 1,
( ( CASE qs.statement_end_offset
WHEN -1 THEN DATALENGTH(qt.text)
ELSE qs.statement_end_offset
END - qs.statement_start_offset ) / 2 ) + 1) ,
qs.execution_count ,
qs.total_worker_time as total_worker_time_in_s,
qs.last_worker_time as last_worker_time_in_ms,
(qs.total_worker_time /qs.execution_count)/1000 as avg_execution_time_ms,
qs.last_execution_time
FROM sys.dm_exec_query_stats qs
CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) qt
ORDER BY qs.last_execution_time DESC
--这个里面的total_worker_time在不考虑网络传输的情况下,可以看为是响应时间。
--测试结果:total_worker_time=编译时间+等待时间+执行时间+返回时间
6. 如何获得一条SQL语句执行所用的时间
方法有很多种,
可以跟踪语句的执行情况,自带执行时长
2,执行前定义一个时间,执行后定义一个时间,将两个时间相减便是时长
7. 如何查看sql语句执行时间
declare @sttime datetime
set @sttime=getdate()
print @sttime
Select * from case1219 -- 把你的sql语句放在这里
SELECT RTRIM(CAST(DATEDIFF(MS, @sttime, GETDATE()) AS CHAR(10))) AS 'TimeTaken'
或者这么写
DECLARE @t1 DATETIME;
DECLARE @t2 DATETIME;
SET @t1 = GETDATE();
Select * from dimDate ;-- 把你要查询的sql语句放在这里
SET @t2 = GETDATE();
SELECT DATEDIFF(millisecond,@t1,@t2) AS elapsed_ms;
8. 怎么查看sql语句执行所需的时间
在查询分析器中,选中 包含客户端统计信息 ,执行结果就会多一个选项卡。
如果是在应用程序中,在执行语句的前后各加一个时间,两个时间对比就行了。
也可以在跟踪里,查看语句的执行时间。
9. sqlserver management studio 怎么查看sql运行时间
有二种方式来查看正在执行的SQL语句
使用SQL自带的SQL Server Profiler,以可视化界面的方式来查看。
从开始=》所有程序=》Microsoft SQL Server 2008=》性能工具打开Profiler工具,也可以打开SQL Server Management Studio=》工具=》SQL Server Profiler。
然后选择文件=》新建=》跟踪打开一个连接窗口,选择将要跟踪的服务器实例然后连接,并打开“跟踪属性”对话框,点运行即可看到正在执行的SQL语句。
使用SQL语句来查看正在运行的语句,如下
SELECT [Spid] = session_id , ecid , [Database] = DB_NAME(sp.dbid) , [User] = nt_username , [Status] = er.status , [Wait] = wait_type , [Indivial Query] = SUBSTRING(qt.text, er.statement_start_offset / 2, ( CASE WHEN er.statement_end_offset = -1 THEN LEN(CONVERT(NVARCHAR(MAX), qt.text)) * 2 ELSE er.statement_end_offset END - er.statement_start_offset ) / 2) , [Parent Query] = qt.text , Program = program_name , hostname , nt_domain , start_time FROM sys.dm_exec_requests er INNER JOIN sys.sysprocesses sp ON er.session_id = sp.spid CROSS APPLY sys.dm_exec_sql_text(er.sql_handle) AS qt WHERE session_id > 50 -- Ignore system spids. AND session_id NOT IN ( @@SPID ) -- Ignore this current statement.ORDER BY 1 , 2