分析SQL语句性能3种方法分享

第一种方法:


代码如下:

Minimsdn.com为您提供的代码:
-- Turn ON [Display IO Info when execute SQL]
SET STATISTICS IO ON
-- Turn OFF [Display IO Info when execute SQL]
SET STATISTICS IO OFF

Link: http://msdn.microsoft.com/zh-cn/library/ms184361.aspx
第二种方法:


代码如下:

MINIMSDN.com为您提供的代码:
--Turn ON [Display detail info and the request for resources]
SET SHOWPLAN_ALL ON
-- Turn OFF [Display detail info and the request for resources]
SET SHOWPLAN_ALL OFF

Link: http://msdn.microsoft.com/zh-cn/library/ms187735
第三种方法:

Links: http://msdn.microsoft.com/zh-cn/library/ff650689.aspx ; http://msdn.microsoft.com/zh-cn/library/aa175244(v=SQL.80).aspx
Demo For three kinds of Method:
For SQL Script:


代码如下:

select * from dbEBMSStaging.dbo.MSSalesTxlatOrganizationMaster_Corg StagingOMC

Its Execution plan: ()

Its IO info: ()

-  -  You can try one table with 100/10000/1000000 rows but create/don't create Clustered/NONCLUSTERED Index.

Its Detail info Etc.: ()


For SQL Script:

代码如下:

select top 100 * from dbEBMSStaging.dbo.MSSalesTxlatOrganizationMaster_Corg StagingOMC

Its Execution plan: ()

Its IO info: ()

Its Detail info Etc.: ()

For SQL Script:

代码如下:

select top 100 * from dbEBMSStaging.dbo.MSSalesTxlatOrganizationMaster_Corg StagingOMC
order by StagingOMC.COrgTPName

Its Execution plan: (   )

Its IO info: ()

Its Detail info Etc.: ()

For SQL Script:

代码如下:

select top 100 StagingOMC.COrgTPName,COUNT(CorgID) from dbEBMSStaging.dbo.MSSalesTxlatOrganizationMaster_Corg StagingOMC
group by StagingOMC.COrgTPName
order by StagingOMC.COrgTPName

Its Execution plan: ()

Its IO info: ()

 

Its Detail info Etc.: ()

 

-  -  By these three kinds of methods, you can try to check those words in the internet web are right or wrong about how to improve SQL Script performance.

(0)

相关推荐

  • 分析SQL语句性能3种方法分享

    第一种方法: 复制代码 代码如下: Minimsdn.com为您提供的代码: -- Turn ON [Display IO Info when execute SQL] SET STATISTICS IO ON -- Turn OFF [Display IO Info when execute SQL] SET STATISTICS IO OFF Link: http://msdn.microsoft.com/zh-cn/library/ms184361.aspx 第二种方法: 复制代码 代码如

  • python 统计代码耗时的几种方法分享

    时间戳相减 在代码执行前后各记录一个时间点,两个时间戳相减即程序运行耗时. 获取时间戳time.time() import time start_time = time.time() sum = 0 for i in range(100000000):     sum += i print(sum) end_time = time.time() print("耗时: {:.2f}秒".format(end_time - start_time)) 输出: 4999999950000000

  • 有效防止SQL注入的5种方法总结

    sql注入入门 SQL 注入是一类危害极大的攻击形式.虽然危害很大,但是防御却远远没有XSS那么困难. SQL 注入漏洞存在的原因,就是拼接 SQL 参数.也就是将用于输入的查询参数,直接拼接在 SQL 语句中,导致了SQL 注入漏洞. 演示下经典的SQL注入 我们看到:select id,no from user where id=2; 如果该语句是通过sql字符串拼接得到的,比如: String sql = "select id,no from user where id=" +

  • SQL语句性能优化(续)

    上篇介绍了一下自己在项目中遇到的一种使用sql语句的优化方式(性能优化--SQL语句),但是说的不够完整.在对比的过程中,没有将max函数考虑在内,经人提醒之后赶紧做了一个测试,测试过程中又学到了不少的东西. 上次用的是select count(*) 和select * 的执行效率问题,因为我的需求是获取数据的一个总数来自动给出新的id,然后网友给出可以使用max的方式给出新id.其实这也是一种不错的思路(当时我们也用过该函数,只不过因为系统数据本身问题,不适合用该函数),然后我就对max函数的

  • PHP获取MySQL执行sql语句的查询时间方法

    如下所示: //计时开始 runtime(); //执行查询 mysql_query($sql); //计时结束. echo runtime(1); //计时函数 function runtime($mode=0) { static $t; if(!$mode) { $t = microtime(); return; } $t1 = microtime(); list($m0,$s0) = explode(" ",$t); list($m1,$s1) = explode("

  • PHP实现SQL语句格式化功能的方法 原创

    本文实例讲述了PHP实现SQL语句格式化功能的方法.分享给大家供大家参考,具体如下: 一.问题: 要求使用php实现针对sql语句的格式化功能 二.解决方法: 这里使用github上的开源代码实现SQL格式化功能. github下载地址:https://github.com/till/sql-formatter 或者点击此处本站下载. 使用方法: include包含SqlFormatter.php文件,针对sql语句使用format方法即可实现格式化功能. 具体代码如下: <?php inclu

  • mysql sql语句性能调优简单实例

     mysql sql语句性能调优简单实例 在做服务器开发时,有时候对并发量有一定的要求,有时候影响速度的是某个sql语句,比如某个存储过程.现在假设服务器代码执行过程中,某个sql执行比较缓慢,那如何进行优化呢? 假如现在服务器代码执行如下sql存储过程特别缓慢: call sp_wplogin_register(1, 1, 1, '830000', '222222'); 可以按如下方法来进行调试: 1. 打开mysql profiling: 2. 然后执行需要调优的sql,我们这里执行两条sq

  • Python 循环终止语句的三种方法小结

    在Python循环终止语句有三种: 1.break break用于退出本层循环 示例如下: while True: print "123" break print "456" 2.continue continue为退出本次循环,继续下次循环 示例如下: while True: print "123" continue print "456" 3.自定义标记 Tag 自已定义一个标记为True或False 示例代码: Tag

  • Laravel使用原生sql语句并调用的方法

    有一些sql语句比较复杂,用构造器还不如直接用sql来的方便,我们在laravel中使用原生语句,首先要在开头use DB,然后: $arr = DB::select("select id,sum(parents+1) as total_people from orders where game_id=6 and pay_status=1 and hotel_id=5"); 接下来,我们程序里怎么获取到查询到的值呢? 查询到的是一个数组,但是里面的内容属于对象,我们要这么调用: $ar

  • SpringBoot启动执行sql脚本的3种方法实例

    目录 背景 配置application.yml文件 自定义DataSourceInitializer Bean 启动时执行方法 Springboot自动执行sql文件 总结 背景 项目里后端需要计算坐标距离,想用sql实现算法,然后通过执行一个sql脚本,创建一个函数供各业务调用.我们需要在springboot项目启动时执行sql脚本,在网上一顿搜索,总结了有三种做法: 配置application.yml文件 自定义DataSourceInitializer Bean 启动时执行方法 第一种做法

随机推荐