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

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

写程序的人,往往需要分析所写的SQL语句是否够优化、是否能提升执行效率,服务器的响应时间有多快,这个时候就需要用到SQL的STATISTICS状态值来查看了。

通过设置STATISTICS我们可以查看执行SQL时的系统情况。选项有PROFILE,IO ,TIME。介绍如下:

SET STATISTICS PROFILE ON:显示分析、编译和执行查询所需的时间(以毫秒为单位)。 
SET STATISTICS IO ON:报告与语句内引用的每个表的扫描数、逻辑读取数(在高速缓存中访问的页数)和物理读取数(访问磁盘的次数)有关的信息。 
SET STATISTICS TIME ON:显示每个查询执行后的结果集,代表查询执行的配置文件。

使用方法:打开SQL SERVER 查询分析器,输入以下语句:

SET STATISTICS PROFILE ON 
SET STATISTICS IO ON 
SET STATISTICS TIME ON 
GO /*--你的SQL脚本开始*/
SELECT [TestCase] FROM [TestCaseSelect] 
GO /*--你的SQL脚本结束*/
SET STATISTICS PROFILE OFF 
SET STATISTICS IO OFF 
SET STATISTICS TIME OFF

效果如图所示:

另外,也可以通过手工添加语句,计算执行时间来查看执行语句花费了的时间,以判断该条SQL语句的效率如何:

/* 记录语句执行开始时间 */
declare @begin datetime
/* 记录语句执行结束时间 */
declare @end datetime
set @begin=GETDATE()
/*你的SQL脚本开始*/
SELECT [TestCase] FROM [TestCaseSelect]
/*你的SQL脚本结束*/
set @end=GETDATE()
select [语句执行花费时间(毫秒)]=datediff(ms,@begin,@end)

时间: 2024-10-10 12:31:03

查看SQL语句执行时间与测试SQL语句性能的相关文章

SQL手工注入漏洞测试(Sql Server数据库)

还是先找到注入点,然后order by找出字段数:4 通过SQL语句中and 1=2 union select 1,2,3……,n联合查询,判断显示的是哪些字段,就是原本显示标题和内容时候的查询字段.此处返回的是错误页面,说明系统禁止使用union进行相关SQL查询,我们得使用其他方式进行手工SQL注入. 一.盲注 盲猜爆出表名 通过SQL语句中的and exists(select username from manage)查询,判断manage数据库表表中存在的字段.此处返回内容为正常页面,说

loadrunner测试sql语句性能

最初的想法是是想通过录制在SQL Server2008的操作来着的,无奈试了即便都录不到查询的sql语句,网上查资料全是关于SQL 2000的(这部分有经验的欢迎指教). 于是只能通过直接调用loadrunner本身的function来实现sql语句的性能测试.主要用到的是lr_db_connect和lr_db_executeSQLStatement两个函数,具体的用法这里不做解释,请自行查看loadrunner的帮助说明. 下面进入正题.在函数lr_db_connect的帮助说明中有句“Imp

如何测试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语句的效率测试

1.测试sql语句执行时间的方法,获得时间差 declare @end_date datetime select @begin_date = getdate() --要执行的sql语句 select @end_date = getdate() select datediff(ms,@begin_date,@end_date) as '用时/毫秒' 2.下面这种方法比较全面,将执行每个语句时采取的步骤作为行集返回,通过层次结构树的形式展示出来,输出中包含的列: SET STATISTICS io

数据库之测试sql语句效率

在写sql语句的时候发现,对于想要的结果通常有好多中实现方法.当面对这些实现方法的时候要如何选择才是相对来说最优的呢?这就引出了这篇博客的主题,如何测试sql语句的效率 下面介绍几种sql语句测试效率的方法,大多数是从网上查找的,然后再一一测试了一下.最后我自己做了一个重新的整理. 1. 测试sql语句执行时间的方法,获得查询前后时间差 declare @begin_date datetime declare @end_date datetime select @begin_date = get

Yii查看(输出)当前页面执行的sql语句

在Yii框架下查看当前页面执行的所有sql语句的方法,主要是通过配置相关文件来达到调试sql的目的,具体方法如下: (1)修改 index.php 开启调试模式 在 index.php 文件内增加如下两行代码(如果不存在的话): 查看代码 打印 1 //开启调试模式 2 defined('YII_DEBUG') or define('YII_DEBUG',true); 3 //设置日志记录级别,YII_TRACE_LEVEL的数字越大,信息越清楚 4 defined('YII_TRACE_LEV

mysql5.5基础 show create table...\G 查看创建表时候用的SQL语句

礼悟:    公恒学思合行悟,尊师重道存感恩.叶见寻根三返一,江河湖海同一体.          虚怀若谷良心主,愿行无悔给最苦.读书锻炼养身心,诚劝且行且珍惜. 数据.数据,命根就在数据.操作数据库一定要谨慎小心.给最苦 这里的代码,看看就好,要有自己的判断.遇到抉择,要不耻上下问. mysql:5.5                     os:Windows7 x64 曾经创建表的代码 mysql> create table student( -> stuId int, -> s

如何在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

查看postgre都有哪些语句执行时间长

查看所有postgre语句执行时间: select procpid, start, now() - start as lap, current_query from (select backendid, pg_stat_get_backend_pid(s.backendid) as procpid, pg_stat_get_backend_activity_start(s.backendid) as start, pg_stat_get_backend_activity(s.backendid)