比较两种代码,核心代码相同,其中一个使用变量保存查询出的结果,另一个直接输出。使用同一变量时,强迫SQL放弃了并行,使用了循环。

 

测试结果

表'#1699586C'。扫描计数1,逻辑读取186 次,物理读取0 次,预读0 次,lob 逻辑读取0 次,lob 物理读取0 次,lob 预读0 次。

 

SQL Server 执行时间:

CPU 时间= 0 毫秒,占用时间= 335 毫秒。

 

SQL Server 执行时间:

CPU 时间= 33954 毫秒,占用时间= 35315
毫秒。

 

表'#1699586C'。扫描计数1,逻辑读取186 次,物理读取0 次,预读0 次,lob 逻辑读取0 次,lob 物理读取0 次,lob 预读0 次。

 

SQL Server 执行时间:

CPU 时间= 93 毫秒,占用时间= 167
毫秒

 

 

 

  1. SELECT @bin = @bin + CASE @withDeviceID
  2.                                         WHEN 0 THEN 0x
  3.                                         ELSE
    CAST (deviceid AS
    BINARY(16))
  4.                                       END
  5.                         + dbo.updatesum(dbo.long2Bin_4byte(CardSerialNo)
  6.                                         + dbo.long2Bin_4byte(Tac)
  7.                                         + dbo.long2Bin(CardSeq)
  8.                                         + dbo.int2Bin(HardwareNo)
  9.                                         + CAST (CardType AS
    BINARY(1))
  10.                                         + CAST (TranscationType AS
    BINARY(1))
  11.                                         + CAST (Station AS
    BINARY(1))
  12.                                         + dbo.int2Bin_3byte(PreBalance)
  13.                                         + dbo.int2Bin_3byte(Amount)
  14.                                         + dbo.time2utcbin(TranscationTime)
  15.                                         + CAST (DeviceType AS
    BINARY(1))
  16.                                         + dbo.int2Bin(TotalIntegral)
  17.                                         + dbo.short2bin(Integral)
  18.                                         + dbo.int2Bin(AccountCount)
  19.                                         + CAST (Account AS
    BINARY(1))
  20.                                         + dbo.int2Bin(Balance)
  21.                                         + dbo.int2bin_3byte(Price)
  22.                                         + CAST (Period AS
    BINARY(1))
  23.                                         + dbo.int2Bin(Device)
  24.                                         + CAST (InOutFlag AS
    BINARY(1))
  25.                                         + CAST (UpDownFlag AS
    BINARY(1))
  26.                                         + dbo.short2bin(Operator)
  27.                                         + CAST (CardStandard AS
    BINARY(1))
  28.                                         + CAST (TranscationMode AS
    BINARY(1))
  29.                                         + CAST (0 AS
    BINARY(1))
  30.                                         + CAST(0 AS
    BINARY(7)) + 0x55, 0, 62,
  31.                                         63)
  32.                 FROM @record

 

 

  1.           WHEN 0 THEN 0x
  2.           ELSE
    CAST (deviceid AS
    BINARY(16))
  3.         END + dbo.updatesum(dbo.long2Bin_4byte(CardSerialNo)
  4.                             + dbo.long2Bin_4byte(Tac) + dbo.long2Bin(CardSeq)
  5.                             + dbo.int2Bin(HardwareNo)
  6.                             + CAST (CardType AS
    BINARY(1))
  7.                             + CAST (TranscationType AS
    BINARY(1))
  8.                             + CAST (Station AS
    BINARY(1))
  9.                             + dbo.int2Bin_3byte(PreBalance)
  10.                             + dbo.int2Bin_3byte(Amount)
  11.                             + dbo.time2utcbin(TranscationTime)
  12.                             + CAST (DeviceType AS
    BINARY(1))
  13.                             + dbo.int2Bin(TotalIntegral)
  14.                             + dbo.short2bin(Integral)
  15.                             + dbo.int2Bin(AccountCount)
  16.                             + CAST (Account AS
    BINARY(1))
  17.                             + dbo.int2Bin(Balance) + dbo.int2bin_3byte(Price)
  18.                             + CAST (Period AS
    BINARY(1)) + dbo.int2Bin(Device)
  19.                             + CAST (InOutFlag AS
    BINARY(1))
  20.                             + CAST (UpDownFlag AS
    BINARY(1))
  21.                             + dbo.short2bin(Operator)
  22.                             + CAST (CardStandard AS
    BINARY(1))
  23.                             + CAST (TranscationMode AS
    BINARY(1))
  24.                             + CAST (0 AS
    BINARY(1)) + CAST(0 AS
    BINARY(7))
  25.                             + 0x55, 0, 62, 63)
  26. FROM @record

 

SQL并行与否的性能差异的更多相关文章

  1. SQL Server ->> DISABLE索引后插入更新数据再REBUILD索引 和 保留索引直接插入更新数据的性能差异

    之前对于“DISABLE索引后插入更新数据再REBUILD索引 和 保留索引直接插入更新数据的性能差异”这两种方法一直认为其实应该差不多,因为无论如何索引最后都需要被维护,只不过是个时间顺序先后的问题 ...

  2. SQL Server添加MDW性能监控报表(转载)

    10.2 Data Collector与MDW Data Collection功能是SQL SERVER 2005版本提供的数据库监控报表的功能,通过定时地对数据库的语句运行情况,服务器各种资源的监控 ...

  3. 新 Azure SQL 数据库服务等级的性能

    4 月 24 日,我们发布了 SQL Database 基本级(预览版)和标准级(预览版)新服务等级的预览版以及新的业务连续性功能.在本博客文章中,我们将深入探究 SQL Database 中新等级的 ...

  4. 固态硬盘和机械硬盘的比较和SQLSERVER在两种硬盘上的性能差异

    固态硬盘和机械硬盘的比较和SQLSERVER在两种硬盘上的性能差异 在看这篇文章之前可以先看一下下面的文章: SSD小白用户收货!SSD的误区如何解决 这样配会损失性能?实测6种特殊装机方式 听说固态 ...

  5. [转] 剖析 epoll ET/LT 触发方式的性能差异误解(定性分析)

    http://blog.chinaunix.net/uid-17299695-id-3059078.html PS:Select和Poll都是水平触发,epoll默认也是水平触发 ET模式仅当状态发生 ...

  6. SQL Server-聚焦存储过程性能优化、数据压缩和页压缩提高IO性能(一)

    前言 关于SQL Server基础系列尚未结束,还剩下最后一点内容未写,后面会继续.有园友询问我什么时候开始写SQL Server性能系列,估计还得等一段时间,最近工作也比较忙,但是会陆陆续续的更新S ...

  7. JMeter下Groovy和BeanShell语言在不同组件中性能差异实践探究

    一般而言JMeter下性能最好的是jar包这类java原生请求,对于JMeter并没有原生支持的请求,一般都会将其直接编译为jar包,然后再JMeter中调用,这样性能最好. 但是有些需求并不适合用j ...

  8. 使用ab.exe监测100个并发/100次请求情况下同步/异步访问数据库的性能差异

    ab.exe介绍 ab.exe是apache server的一个组件,用于监测并发请求,并显示监测数据 具体使用及下载地址请参考:http://www.cnblogs.com/gossip/p/439 ...

  9. 【原创】分布式之数据库和缓存双写一致性方案解析(三) 前端面试送命题(二)-callback,promise,generator,async-await JS的进阶技巧 前端面试送命题(一)-JS三座大山 Nodejs的运行原理-科普篇 优化设计提高sql类数据库的性能 简单理解token机制

    [原创]分布式之数据库和缓存双写一致性方案解析(三)   正文 博主本来觉得,<分布式之数据库和缓存双写一致性方案解析>,一文已经十分清晰.然而这一两天,有人在微信上私聊我,觉得应该要采用 ...

随机推荐

  1. 【转载】ASP.NET MVC Web API 的路由选择

    此文章描述了ASP.NET Web API如何将Http请求路由到controller. 路由表 在ASP.NET Web API中,controller是用来处理HTTP请求的一个类.这个类中用于处 ...

  2. C#控件绑定数据源方式

    1:控件数据源绑定泛型Dictionary<string,string> ): Dictionart<string,string> D=new Dictionary(strin ...

  3. 【FTP】C# System.Net.FtpClient库连接ftp服务器(上传文件)

    如果自己单枪匹马写一个连接ftp服务器代码那是相当恐怖的(socket通信),有一个评价较高的dll库可以供我们使用. 那就是System.Net.FtpClient,链接地址:https://net ...

  4. ab网站压力测试

    ab网站压力测试命令的参数.输出结果的中文注解    permalink 以前安装好APACHE总是不知道该如何测试APACHE的性能,现在总算找到一个测试工具了.就是APACHE自带的测试工具AB( ...

  5. C#--异步显示工作进度

    耗时的操作在长时间运行时可能导致用户界面停止响应,这时需要把操作转移到单独的线程上运行,保证当前用户界面可以继续流畅交互,同时还需要实时了解独立线程上的任务进度.可以使用BackgroudWorker ...

  6. JNDI解读(转)

    NDI 是什么 JNDI是 Java 命名与目录接口(Java Naming and Directory Interface),在J2EE规范中是重要的规范之一,不少专家认为,没有透彻理解JNDI的意 ...

  7. Verilog学习笔记简单功能实现(六)...............计数分频电路

    在分频器电路中最重要的概念有两个:1)奇分频/偶分频:2)占空比. A)其中最简单的就是二分频电路,占空比为50%,其Verilog程序为 module half_clk(clr,clk_in,clk ...

  8. Guava学习笔记:Preconditions优雅的检验参数

    在日常开发中,我们经常会对方法的输入参数做一些数据格式上的验证,以便保证方法能够按照正常流程执行下去.对于可预知的一些数据上的错误,我们一定要做事前检测和判断,来避免程序流程出错,而不是完全通过错误处 ...

  9. Android 亮度调节

    最近在做一个App的设置项,亮度调节.真正做时,发现Android亮度调节比预想要复杂一些.其实目前网上已有不少这方面的资料,但有些博文具有一定误导性.在此将这块内容按照自己理解整理一下. 整体上看, ...

  10. CentOS 6.6 新安装系统的网络IP配置

    实例环境 虚拟机:VMware 11.1.0 系统:CentOS 6.6 # ifconfig -a       << 查看所有网卡的状态 2. # vi /etc/sysconfig/n ...