比较两种代码,核心代码相同,其中一个使用变量保存查询出的结果,另一个直接输出。使用同一变量时,强迫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. IOS编程 图片缓存模块设计

    手机客户端为什么会留存下来?而不是被一味的Wap替代掉?因为手机客户端有Wap无可替代的优势,就是自身较强的计算能力. 手机中不可避免的一环:图片缓存,在软件的整个运行过程中显得尤为重要. 先简单说一 ...

  2. MySQL 5.1 参考手册CHM (官方 简体中文版)

    点此下载: MySQL 5.1 参考手册CHM (官方 简体中文版) 在线文档:http://doc.mysql.cn/mysql5/refman-5.1-zh.html-chapter/

  3. Web API配置自定义路由

    默认访问Web API时,是无需指定method名.它会按照默认的路由来访问.如果你的Web API中出现有方法重载时,也许得配置自定义路由: 标记1为自定义路由,标记2为默认路由,需要把自定义路由排 ...

  4. (二)NetHelper

    [转]http://blog.csdn.net/dingxiaowei2013/article/details/8113454 using System; using System.Text; usi ...

  5. 【UWP】使用Action代替Command

    在Xaml中,说到绑定,我们用的最多的应该就是ICommand了,通过Command实现ViewModel到View之间的命令处理,例如Button默认就提供了Command支持,如下 Xaml: & ...

  6. C# Winform MD5加密学习积累

    string password = txtPassword.Text.Trim(); byte[] result = Encoding.Default.GetBytes(password); MD5 ...

  7. C#的变迁史 - C# 4.0篇

    C# 4.0 (.NET 4.0, VS2010) 第四代C#借鉴了动态语言的特性,搞出了动态语言运行时,真的是全面向“高大上”靠齐啊. 1. DLR动态语言运行时 C#作为静态语言,它需要编译以后运 ...

  8. Dubbo入门

    早就听说了dubbo的好处,但是在项目中一直没有使用的机会,所以一直不知道怎么使用.今天晚上有空,简单的学习一下 就当入个门,以后项目中遇到的话,那么使用起来就比较简单了,至于介绍的话,我就不总结了, ...

  9. spring容器加载完毕做一件事情(利用ContextRefreshedEvent事件)转

    关键字:spring容器加载完毕做一件事情(利用ContextRefreshedEvent事件) 应用场景:很多时候我们想要在某个类加载完毕时干某件事情,但是使用了spring管理对象,我们这个类引用 ...

  10. eclipse新建maven项目(2)

    本篇博文是继续之前的博文eclipse新建maven项目(1),那篇博文不在随笔在文章中.首先按照之前那篇博文进行创建maven项目操作,一系列操作下来之后发现刷新项目后会报错: 别急哈,可以解决. ...