比較兩種**,核心**相同,其中乙個使用變數儲存查詢出的結果,另乙個直接輸出。使用同一變數時,強迫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
毫秒select
@bin = @bin + case @withdeviceid
when 0 then 0x
else
cast (deviceid as
binary(16))
end+ dbo.updatesum(dbo.long2bin_4byte(cardserialno)
+ dbo.long2bin_4byte(tac)
+ dbo.long2bin(cardseq)
+ dbo.int2bin(hardwareno)
+ cast (cardtype as
binary(1))
+ cast (transcationtype as
binary(1))
+ cast (station as
binary(1))
+ dbo.int2bin_3byte(prebalance)
+ dbo.int2bin_3byte(amount)
+ dbo.time2utcbin(transcationtime)
+ cast (devicetype as
binary(1))
+ dbo.int2bin(totalintegral)
+ dbo.short2bin(integral)
+ dbo.int2bin(accountcount)
+ cast (account as
binary(1))
+ dbo.int2bin(balance)
+ dbo.int2bin_3byte(price)
+ cast (period as
binary(1))
+ dbo.int2bin(device)
+ cast (inoutflag as
binary(1))
+ cast (updownflag as
binary(1))
+ dbo.short2bin(operator)
+ cast (cardstandard as
binary(1))
+ cast (transcationmode as
binary(1))
+ cast (0 as
binary(1))
+ cast(0 as
binary(7)) + 0x55, 0, 62,
63)from @record
select
case 1
when 0 then 0x
else
cast (deviceid as
binary(16))
end + dbo.updatesum(dbo.long2bin_4byte(cardserialno)
+ dbo.long2bin_4byte(tac) + dbo.long2bin(cardseq)
+ dbo.int2bin(hardwareno)
+ cast (cardtype as
binary(1))
+ cast (transcationtype as
binary(1))
+ cast (station as
binary(1))
+ dbo.int2bin_3byte(prebalance)
+ dbo.int2bin_3byte(amount)
+ dbo.time2utcbin(transcationtime)
+ cast (devicetype as
binary(1))
+ dbo.int2bin(totalintegral)
+ dbo.short2bin(integral)
+ dbo.int2bin(accountcount)
+ cast (account as
binary(1))
+ dbo.int2bin(balance) + dbo.int2bin_3byte(price)
+ cast (period as
binary(1)) + dbo.int2bin(device)
+ cast (inoutflag as
binary(1))
+ cast (updownflag as
binary(1))
+ dbo.short2bin(operator)
+ cast (cardstandard as
binary(1))
+ cast (transcationmode as
binary(1))
+ cast (0 as
binary(1)) + cast(0 as
binary(7))
+ 0x55, 0, 62, 63)
from
@record
平行計算 並行程式效能的評估
一 speedup factor 加速比例 s p ts tp ts 最好的序列演算法所需的執行時間 tp 使用並行p個處理器所需的執行時間。線性提速 s p p 二 system efficiency e p ts tp x p s p p x 100 三 maximum speedup 很難達到...
seastar與go的http效能差異
golang的coroutine好用,但是coroutine本身切換是需要有代價的,主要體現在記憶體棧的上下文切換。之前看過乙個c 的go風格的庫,叫libgo,根據其github主頁的benchmark,協程切換速率是要優於go的。但是這篇文章並非要和libgo比較,由於筆者之前接觸過scylla...
管理並行SQL執行的程序
本節介紹的並行執行功能可用於oracle資料庫企業版 本節介紹如何管理sql語句的並行處理。在此配置中,oracle資料庫可以將處理sql語句的工作分為多個並行程序。並行化表建立 中包含使用並行sql執行的示例。本節包含以下主題 有關使用並行提示的資訊,請參閱 oracle資料庫效能調整指南 關於並...