SQLSERVER语句的执行时间显示的统计结果是什么意思

在SQL语句调优的时候,大部分都会查看语句执行时间,究竟SQLSERVER显示出来的统计结果是什么意思?
下面看一下例子
比较简单的语句


代码如下:

1 SET STATISTICS TIME ON
2 USE [pratice]
3 GO
4 SELECT * FROM [dbo].[Orders]

结果


代码如下:

SQL Server 分析和编译时间:
CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。
SQL Server 执行时间:
CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。
SQL Server 执行时间:
CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。
SQL Server 分析和编译时间:
CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。
(121317 行受影响)
SQL Server 执行时间:
CPU 时间 = 109 毫秒,占用时间 = 2506 毫秒。

语句的CPU时间分编译阶段和执行阶段。优化者要先搞清楚这两个阶段各用了多少CPU资源。
然后,再看有没有优化降低CPU使用量的可能
上面的CPU时间是指:执行语句的时间
而占用时间是指:从磁盘读取数据再处理总的使用时间
编译阶段
SQL Server 分析和编译时间:
执行阶段
SQL Server 执行时间:

(0)

相关推荐

  • SQLSERVER收集语句运行的统计信息并进行分析

    对于语句的运行,除了执行计划本身,还有一些其他因素要考虑,例如语句的编译时间.执行时间.做了多少次磁盘读等. 如果DBA能够把问题语句单独测试运行,可以在运行前打开下面这三个开关,收集语句运行的统计信息. 这些信息对分析问题很有价值. 复制代码 代码如下: SET STATISTICS TIME ON SET STATISTICS IO ON SET STATISTICS PROFILE ON SET STATISTICS TIME ON ----------------------------

  • 如何统计全天各个时间段产品销量情况(sqlserver)

    数据库环境:SQL SERVER 2005 现有一个产品销售实时表,表数据如下: 字段name是产品名称,字段type是销售类型,1表示售出,2表示退货,字段num是数量,字段ctime是操作时间. 要求: 在一行中统计24小时内所有货物的销售(售出,退货)数据,把日期考虑在内. 分析: 这实际上是行转列的一个应用,在进行行转列之前,需要补全24小时的所有数据.补全数据可以通过系统的数字辅助表 spt_values来实现,进行行转列时,根据type和处理后的ctime分组即可. 1.建表,导入数

  • SQLserver 实现分组统计查询(按月、小时分组)

    设置AccessCount字段可以根据需求在特定的时间范围内如果是相同IP访问就在AccessCount上累加. 复制代码 代码如下: Create table Counter ( CounterID int identity(1,1) not null, IP varchar(20), AccessDateTime datetime, AccessCount int ) 该表在这儿只是演示使用,所以只提供了最基本的字段 现在往表中插入几条记录 insert into Counter selec

  • sqlserver 统计sql语句大全收藏

    1.计算每个人的总成绩并排名 select name,sum(score) as allscore from stuscore group by name order by allscore 2.计算每个人的总成绩并排名 select distinct t1.name,t1.stuid,t2.allscore from stuscore t1,( select stuid,sum(score) as allscore from stuscore group by stuid)t2where t1

  • SQLServer2005 中的几个统计技巧

     在SQLServer中我们可以用over子句中来代替子查询实现来提高效率,over子句除了排名函数之外也可以和聚合函数配合.实现代码如下: 复制代码 代码如下: use tempdb go if (object_id ('tb' ) is not null ) drop table tb go create table tb (name varchar (10 ), val int ) go insert into tb select 'aa' , 10 union all select 'a

  • SQLSERVER语句的执行时间显示的统计结果是什么意思

    在SQL语句调优的时候,大部分都会查看语句执行时间,究竟SQLSERVER显示出来的统计结果是什么意思? 下面看一下例子 比较简单的语句: 复制代码 代码如下: 1 SET STATISTICS TIME ON 2 USE [pratice] 3 GO 4 SELECT * FROM [dbo].[Orders] 结果: 复制代码 代码如下: SQL Server 分析和编译时间: CPU 时间 = 0 毫秒,占用时间 = 0 毫秒. SQL Server 执行时间: CPU 时间 = 0 毫秒

  • oracle中得到一条SQL语句的执行时间的两种方式

    oracle中如果需要得到一条SQL语句的执行时间可以用如下2种方式 复制代码 代码如下: SQL> set timing on; SQL> select count(*) from wea; COUNT(*) ---------- 39490 已用时间: 00: 00: 00.06 SQL> select sql_text, elapsed_time from v$sql 2 where sql_text like 'select count(*) from wea'; 未选定行 已用

  • 图文详解Mysql中如何查看Sql语句的执行时间

    目录 一.初始SQL准备 二.Mysql查看Sql语句的执行时间 三.不同查询的执行时间 总结 Mysql中如何查看Sql语句的执行时间 一.初始SQL准备 初始化表 -- 用户表 create table t_users( id int primary key auto_increment, -- 用户名 username varchar(20), -- 密码 password varchar(20), -- 真实姓名 real_name varchar(50), -- 性别 1表示男 0表示

  • SQLSERVER 语句交错引发的死锁问题案例详解

    目录 一:背景 1. 讲故事 二:死锁简析 1. 一个测试案例 2. 寻找死锁源头 3. 寻找解决方案 三:总结 一:背景 1. 讲故事 相信大家在使用 SQLSERVER 的过程中经常会遇到 阻塞 和 死锁,尤其是 死锁,比如下面的输出: (1 row affected) Msg 1205, Level 13, State 51, Line 5 Transaction (Process ID 62) was deadlocked on lock resources with another p

  • 在SQLServer上查看SQL语句的执行时间的方法

    1:下面这种是比较简单的查询方法,通过查询前的时间和查询后的时间差来计算的 复制代码 代码如下: 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:下面这种方法比较全面,将执行每

  • 在oracle 数据库中查看一个sql语句的执行时间和SP2-0027错误

    进入sqlplus SQL> set timing on SQL> SQL> select count(*) from comm_human_role; COUNT(*) ---------- 866 Elapsed: 00:00:00.05 以上数字输出分别是:Hours:Minutes:Seconds.Milliseconds 即用了0.05秒的时间执行,相当于50毫秒. 时间如果是这样的表示:00: 03: 235.78 总共用的时间为235.78秒, 不到4分钟,所以显示的是3分

  • SQLServer 常用语句(按功能分)

    一. 简单查询 简单的Transact-SQL查询只包括选择列表.FROM子句和WHERE子句.它们分别说明所查询列.查询的 表或视图.以及搜索条件等.例如,下面的语句查询testtable表中姓名为"张三"的nickname字段和email字段. SELECT nickname,email FROM testtable WHERE name='张三' (一) 选择列表 选择列表(select_list)指出所查询列,它可以是一组列名列表.星号.表达式.变量(包括局部变量和全局变量)等

  • Golang 函数执行时间统计装饰器的一个实现详解

    背景 最近在搭一个新项目的架子,在生产环境中,为了能实时的监控程序的运行状态,少不了逻辑执行时间长度的统计.时间统计这个功能实现的期望有下面几点: 实现细节要剥离:时间统计实现的细节不期望在显式的写在主逻辑中.因为主逻辑中的其他逻辑和时间统计的抽象层次不在同一个层级 用于时间统计的代码可复用 统计出来的时间结果是可被处理的. 对并发编程友好 实现思路 统计细节的剥离 最朴素的时间统计的实现,可能是下面这个样子: func f() { startTime := time.Now() logicSt

  • 海量数据库的查询优化及分页算法方案 2 之 改良SQL语句

    二.改善SQL语句 很多人不知道SQL语句在SQL SERVER中是如何执行的,他们担心自己所写的SQL语句会被SQL SERVER误解.比如: select * from table1 where name=’zhangsan’ and tID > 10000 和执行: select * from table1 where tID > 10000 and name=’zhangsan’ 一些人不知道以上两条语句的执行效率是否一样,因为如果简单的从语句先后上看,这两个语句的确是不一样,如果tI

  • MySQL查询语句大全集锦

    1:使用SHOW语句找出在服务器上当前存在什么数据库: mysql> SHOW DATABASES; 2:2.创建一个数据库MYSQLDATA mysql> CREATE DATABASE MYSQLDATA; 3:选择你所创建的数据库 mysql> USE MYSQLDATA; (按回车键出现Database changed 时说明操作成功!) 4:查看现在的数据库中存在什么表 mysql> SHOW TABLES; 5:创建一个数据库表 mysql> CREATE TAB

随机推荐