動態

詳情 返回 返回

SQLServer中,實測CPU主頻高低對計算密集型SQL執行速度的影響 - 動態 詳情

從一個簡單的SQL來看,CPU主頻對計算密集型SQL執行速度影響的差別,測試語句有三個特點:簡單SQL,計算密集型SQL,循環多次執行來放大執行時間

1,構造一個簡單的插入語句SQL

2,通過隨機排序,來模擬計算密集型操作

3,通過循環來放大執行時間

 

完全一樣的SQL:

10年前的4代i7,老掉牙的PC級CPU了,但是主頻高,3.6GHz主頻的CPU,2秒鐘跑完

5年前的Xeon E5620,服務器CPU,但是主頻低,2.4GHz,要6秒鐘跑完

 

可以發現,100000次循環的情況下,在不同主頻的CPU下,執行時間的差異還是比較大的。

declare @counter int = 0;
while @counter<100000
begin
	declare  @my_table table
	(
		c1 int,
		c2 varchar(100)
	);
	insert into @my_table 
	select top 1 c1,c2 from 
	(
		select 1 as c1,'a' as c2
		union all
		select 2 as c1,'b' as c2
		union all
		select 3 as c1,'c' as c2
		union all
		select 4 as c1,'d' as c2
		union all
		select 5 as c1,'e' as c2
		union all
		select 6 as c1,'f' as c2
		union all
		select 7 as c1,'g' as c2
		union all
		select 8 as c1,'g' as c2
		union all
		select 9 as c1,'i' as c2
		union all
		select 10 as c1,'j' as c2
	)t
	order by newid();

	set @counter = @counter + 1;
end

 

 

 

Add a new 評論

Some HTML is okay.