数据库之测试sql语句效率

在写sql语句的时候发现,对于想要的结果通常有好多中实现方法。当面对这些实现方法的时候要如何选择才是相对来说最优的呢?这就引出了这篇博客的主题,如何测试sql语句的效率

下面介绍几种sql语句测试效率的方法,大多数是从网上查找的,然后再一一测试了一下。最后我自己做了一个重新的整理。

1. 测试sql语句执行时间的方法,获得查询前后时间差

declare @begin_date datetime
declare @end_date datetime
select @begin_date = getdate()
select top 100 * from dbo.VA_ExperimentProjectScore --<这里是你的语句...>
select @end_date = getdate()
select datediff(ms,@begin_date,@end_date) as ‘用时/毫秒‘

结果

2.下面这种方法比较全面,将执行每个语句时采取的步骤作为行集返回,通过层次结构树的形式展示出来,输出中包含的列:

SET STATISTICS io ON
SET STATISTICS time ON
go
---你要测试的sql语句
select top 100 * from dbo.VA_ExperimentProjectScore
go
SET STATISTICS profile OFF
SET STATISTICS io OFF
SET STATISTICS time OFF

结果

3.还可以从工具中进行设置

查询-查询选项-高级里,有个SET STATISTICS TIME勾上,然后执行SQL,看消息,就有执行时间了

时间: 2024-10-08 09:44:51

数据库之测试sql语句效率的相关文章

如何测试sql语句性能,提高执行效率

有时候我们经常为我们的sql语句执行效率低下发愁,反复优化后,可还是得不到提高 那么你就用这条语句找出你sql到底是在哪里慢了 示例: SET STATISTICS io ON        SET STATISTICS time ON        go         ---你要测试的sql语句         select top 100 * from TBL_Cot_RecStaticList        go        SET STATISTICS profile OFF    

查看SQL语句执行时间与测试SQL语句性能

查看SQL语句执行时间与测试SQL语句性能 写程序的人,往往需要分析所写的SQL语句是否够优化.是否能提升执行效率,服务器的响应时间有多快,这个时候就需要用到SQL的STATISTICS状态值来查看了. 通过设置STATISTICS我们可以查看执行SQL时的系统情况.选项有PROFILE,IO ,TIME.介绍如下: SET STATISTICS PROFILE ON:显示分析.编译和执行查询所需的时间(以毫秒为单位). SET STATISTICS IO ON:报告与语句内引用的每个表的扫描数

为什么存储过程比sql语句效率高?

存储过程经过预编译处理 而SQL查询没有 SQL语句需要先被数据库引擎处理成低级的指令 然后才执行 ------------------------------------------------------- 如果是只执行一次的话,存储过程不一定比SQL语句效率高.因为存储过程有个预先编译的过程.就是.启动服务器后或者第一次执行后(可以设置).就可以把存储过程加载到高速缓存中,这样以后调用起来就不用再通过编译 执行效率当然就高喽..另外执行存储过程只需要传递几个参数..用语句的话可能需要一大串

通过MyEclipse工具直接操作数据库,执行sql语句,方便快捷

原文:通过MyEclipse工具直接操作数据库,执行sql语句,方便快捷 通过MyEclipse操作数据库,执行sql语句使我们不用切换多个工具,直接工作,方便快捷.效果如下: 步骤1:通过MyEclipse中的window->show View->other 调出.DB浏览器. 步骤2: 步骤3:输入db,然后选择DB Brower. 步骤4:单击空白处右键. 步骤5:选择相应的数据库类型. 步骤6: Driver name :填上自己需要的名字 Connection name :jdbc:

通过MyEclipse操作数据库,执行sql语句使我们不用切换多个工具,直接工作,方便快捷

通过MyEclipse操作数据库,执行sql语句使我们不用切换多个工具,直接工作,方便快捷.效果如下:     步骤1:通过MyEclipse中的window->show View->other 调出.DB浏览器.   步骤2:     步骤3:输入db,然后选择DB Brower.   步骤4:单击空白处右键.     步骤5:选择相应的数据库类型.     步骤6: Driver name :填上自己需要的名字 Connection name :jdbc:mysql://localhost

如何在python文件中测试sql语句

在manage.py的同级目录下新建一个run.py import os if __name__ == '__main__': #加载Django项目的配置信息 os.environ.setdefault("DJANGO_SETTINGS_MODULE","myblog.settings") #导入Django,并启动Django项目 import django django.setup() #导入相应的models from person import model

优化、分析Mysql表读写、索引等操作的sql语句效率优化问题

为什么要优化: 随着实际项目的启动,数据库经过一段时间的运行,最初的数据库设置,会与实际数据库运行性能会有一些差异,这时我们 就需要做一个优化调整. 数据库优化这个课题较大,可分为四大类: >主机性能>内存使用性能>网络传输性能>SQL语句执行性能[软件工程师]下面列出一些数据库SQL优化方案: (01)选择最有效率的表名顺序(笔试常考) 数据库的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表将被最先处理,在FROM子句中包含多个表的情况下,你必须选择

大数据量查询优化——数据库设计、SQL语句、JAVA编码

数据库设计方面: 1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描.             如: select id from t where num is null              可以在num上设置默认值0,确保表中num列没有null值,然后这样查询: select id from t where num=0 3

各种数据库分页查询sql语句大全

在显示记录条目时往往要用到分页,一种常用的办法是利用各种数据库自带的定位接口对原始查询语句进行改写,从而只取出特定范围的某些记录.不同的数据库,查询定位接口是不一样的,下面做一汇总: 数据库 分页查询语句 说明 MySQL    "QUERY_SQL limit ?,?"            使用limit关键字,第一个"?"是起始行号, 第二个"?"是返回条目数 Oracle SELECT * FROM ( SELECT A.*, ROWNU