SQL并行与否的性能差异
时间:2022-03-13 23:50
比较两种代码,核心代码相同,其中一个使用变量保存查询出的结果,另一个直接输出。使用同一变量时,强迫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 毫秒
?
?
?
- @bin = @bin + @withDeviceID
- ???????????????????????????????????????? 0 0x
- ???????????????????????????????????????? (deviceid (16))
- ??????????????????????????????????????
- ????????????????????????+ dbo.updatesum(dbo.long2Bin_4byte(CardSerialNo)
- ????????????????????????????????????????+ dbo.long2Bin_4byte(Tac)
- ????????????????????????????????????????+ dbo.long2Bin(CardSeq)
- ????????????????????????????????????????+ dbo.2Bin(HardwareNo)
- ????????????????????????????????????????+ (CardType (1))
- ????????????????????????????????????????+ (TranscationType (1))
- ????????????????????????????????????????+ (Station (1))
- ????????????????????????????????????????+ dbo.2Bin_3byte(PreBalance)
- ????????????????????????????????????????+ dbo.2Bin_3byte(Amount)
- ????????????????????????????????????????+ dbo.2utcbin(TranscationTime)
- ????????????????????????????????????????+ (DeviceType (1))
- ????????????????????????????????????????+ dbo.2Bin(TotalIntegral)
- ????????????????????????????????????????+ dbo.short2bin(Integral)
- ????????????????????????????????????????+ dbo.2Bin(AccountCount)
- ????????????????????????????????????????+ (Account (1))
- ????????????????????????????????????????+ dbo.2Bin(Balance)
- ????????????????????????????????????????+ dbo.2bin_3byte(Price)
- ????????????????????????????????????????+ (Period (1))
- ????????????????????????????????????????+ dbo.2Bin(Device)
- ????????????????????????????????????????+ (InOutFlag (1))
- ????????????????????????????????????????+ (UpDownFlag (1))
- ????????????????????????????????????????+ dbo.short2bin(Operator)
- ????????????????????????????????????????+ (CardStandard (1))
- ????????????????????????????????????????+ (TranscationMode (1))
- ????????????????????????????????????????+ (0 (1))
- ????????????????????????????????????????+ (0 (7)) + 0x55, 0, 62,
- ????????????????????????????????????????63)
- ???????????????? @record
?
?
- 1
- ?????????? 0 0x
- ?????????? (deviceid (16))
- ???????? + dbo.updatesum(dbo.long2Bin_4byte(CardSerialNo)
- ????????????????????????????+ dbo.long2Bin_4byte(Tac) + dbo.long2Bin(CardSeq)
- ????????????????????????????+ dbo.2Bin(HardwareNo)
- ????????????????????????????+ (CardType (1))
- ????????????????????????????+ (TranscationType (1))
- ????????????????????????????+ (Station (1))
- ????????????????????????????+ dbo.2Bin_3byte(PreBalance)
- ????????????????????????????+ dbo.2Bin_3byte(Amount)
- ????????????????????????????+ dbo.2utcbin(TranscationTime)
- ????????????????????????????+ (DeviceType (1))
- ????????????????????????????+ dbo.2Bin(TotalIntegral)
- ????????????????????????????+ dbo.short2bin(Integral)
- ????????????????????????????+ dbo.2Bin(AccountCount)
- ????????????????????????????+ (Account (1))
- ????????????????????????????+ dbo.2Bin(Balance) + dbo.2bin_3byte(Price)
- ????????????????????????????+ (Period (1)) + dbo.2Bin(Device)
- ????????????????????????????+ (InOutFlag (1))
- ????????????????????????????+ (UpDownFlag (1))
- ????????????????????????????+ dbo.short2bin(Operator)
- ????????????????????????????+ (CardStandard (1))
- ????????????????????????????+ (TranscationMode (1))
- ????????????????????????????+ (0 (1)) + (0 (7))
- ????????????????????????????+ 0x55, 0, 62, 63)
- @record
?